Files
openchamber/packages/web/server/lib/scheduled-tasks/DOCUMENTATION.md
T

45 lines
1.4 KiB
Markdown
Raw Normal View History

# Scheduled Tasks module
Server-owned scheduled task runtime and routes for OpenChamber-only automation.
## Scope
- Per-project scheduled task persistence is owned by `packages/web/server/lib/projects/project-config.js`.
- Runtime orchestration and execution is owned by this module.
- This module is OpenChamber feature logic; it is intentionally separate from OpenCode proxy/runtime internals.
## Files
- `packages/web/server/lib/scheduled-tasks/runtime.js`
- Next-run computation (daily/weekly/cron compatibility)
- Timer scheduling and queueing
- Concurrency controls
- Session create + prompt_async execution
- Emits OpenChamber task-run events
- `packages/web/server/lib/scheduled-tasks/routes.js`
- Scheduled task CRUD endpoints
- Manual run endpoint
- OpenChamber events SSE stream endpoint
## Public exports (runtime.js)
- `createScheduledTasksRuntime(dependencies)`
- Returned API:
- `start()`
- `stop()`
- `syncAllProjects()`
- `syncProject(projectId)`
- `runNow(projectId, taskId)`
## Public exports (routes.js)
- `registerScheduledTaskRoutes(app, dependencies)`
- Registers:
- `GET /api/projects/:projectId/scheduled-tasks`
- `PUT /api/projects/:projectId/scheduled-tasks`
- `DELETE /api/projects/:projectId/scheduled-tasks/:taskId`
- `POST /api/projects/:projectId/scheduled-tasks/:taskId/run`
- `GET /api/openchamber/scheduled-tasks/status`
- `GET /api/openchamber/events`