Task Queue Architecture
Overview
The task scheduling system allows users to create recurring or one-time tasks that execute in the background. It uses Google Cloud Tasks for reliable scheduling with Firebase for persistence.
Architecture
Shared from "Merlin Backend" on Inkdown
The task scheduling system allows users to create recurring or one-time tasks that execute in the background. It uses Google Cloud Tasks for reliable scheduling with Firebase for persistence.
File: src/server/services/gcloudTasks.ts
File: src/server/utilities/tasks/baseUtils.ts:303
File: src/server/utilities/tasks/functions/iCalSchedule.ts
RRULE Examples:
Problem: Google Cloud Tasks max schedule is 30 days. Solution: Chain of wake-up calls for longer schedules.
Code:
File: src/server/endpoints/tasks/executeTask.ts
File: src/server/utilities/tasks/baseUtils.ts:109
File: src/server/utilities/tasks/baseUtils.ts:253
Firestore Schema:
Executions Subcollection:
The task queue system:
Key Principle: Background tasks should feel like natural conversation continuations, scheduled and executed autonomously.