ajvb / kala

Modern Job Scheduler
MIT License
2.11k stars 187 forks source link

Transactional Persistence #222

Closed tooolbox closed 4 years ago

tooolbox commented 4 years ago

Currently Kala has a mechanism that periodically persists the entire job cache from memory (or wherever) into the DB. This is not fault-tolerant because the service could be brought down or crash in the intervening time between job creation and persistence, and the job would be lost. The same goes for a delete or update operation.

Furthermore, there are certain operations whereby the relationship between jobs (parents, children) are updated asynchronously.

Therefore:

Note that we cannot move to a DB-only architecture because the scheduling is based off of in-memory timers, so we need that in-memory cache layer.