We Don’t Run Cron Jobs (2016)
Cron works great when you don’t need to guarantee execution, e.g., if a server goes down. Unfortunately, all the alternatives are pretty heavyweight, e.g., Jenkins, Azkaban, Airflow.  I’ve been working a job scheduler that strives to work like a distributed cron. It works with very little code, because it leans heavily on Postgres (for distributed locking, parsing time interval expressions, configuration storage, log storage) and PostgREST (for the HTTP API). The application binary (~100 lines of haskell), polls for new jobs, then checks out and execute tasks.  The code is here if you’re interested:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;finix-payments&#x2F;jobs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;finix-payments&#x2F;jobs</a><p>It compiles to machine code, so deploying the binary is easy. That said, I’d like to add some tooling to simplify deploying and configuring Postgres and PostgREST.