Look at Dropbox's ATF. Also, think about scaling, resilience, and observability. Also also, think real hard about how the process of actually executing a job at the specified start time or interval would work.
This. I think I may have looked at dropbox ATF a bit while going through my design too; it was pretty solid. That timed execution aspect seems like it’s the easiest botched feature if that’s included in the scope (and it’s not just jenkins)
For other lazy people, here is Dropbox atf https://dropbox.tech/infrastructure/asynchronous-task-scheduling-at-dropbox
Most of the designs are using shared database. Is anti pattern okay for this design?
Yes
just the runner part or a timed scheduler aspect too? here’s just a job runner: https://youtu.be/ta5x62cDxf4 here’s how to do scheduling for a future time: https://youtu.be/RW6dRN7XN4I