Scheduling and reminders module: time-based triggers for any module
- Dominant language
- C#
- Stars
- 6
- Forks
- 7
- Avg merge
- 4h 42m
- Merged PRs (30d)
- 307
Description
Part of #249.
Time-based triggers any module can hang work off: send this later, remind me then, run this on a schedule. Distinct from the workflow engine (which reacts to events); this reacts to time.
Three unrelated systems that reuse it: a CRM (follow-up reminder), a CMS (scheduled publish, which already exists ad hoc), a survey (close at a deadline). Primitive.
Contract:
- A scheduled entry with a due time, a target action, and a status, plus recurrence.
- A single sweep (the scheduled-content service is the seed of this) that fires due entries and hands them to the raising module, tenant-scoped.
- At-least-once with idempotency, so a missed sweep or a retry does not double-fire.
Done when: a module ships with tests (schedule, fire at due time with a fake clock, recurrence, idempotent retry, tenant isolation), and the existing content scheduler is refactored to sit on it rather than beside it.
Contributor guide
Assessment
This issue has not been assessed yet.