This is an automated archive made by the Lemmit Bot.

The original was posted on /r/opensource by /u/Kolzmerz on 2024-10-07 08:45:44+00:00.


TL;DR: Would it be worthwhile to enhance my lightweight job scheduler for production use? It’s open-source, self-hostable, and could offer a zero-setup hosted service (though the hosted version would be paid to cover infrastructure costs).

Hey everyone,

I recently needed a lightweight solution to handle delayed and recurring tasks for my API, like scheduling a callback to a specific endpoint after 2 hours or triggering a daily job (edit: like cron jobs). Ideally, I wanted something that could run in a Docker container as part of my application stack.

After exploring various tools, I couldn’t find the perfect fit:

  • RabbitMQ: No built-in support for recurring tasks.
  • Celery/Redis Queue: Overkill for my needs.
  • AWS EventBridge/Step Functions: Not self-hostable.
  • Temporal/Apache Airflow: Powerful, but heavy and not self-hostable. (edit: is self-hostable)

I ended up building a simple job scheduler using APScheduler (Python) and wrapped it in a FastAPI app with a basic frontend to manage jobs, all running in Docker containers. However, it’s missing several production-ready features like authentication, logging, tests, proper docs, etc.

I’m surprised there isn’t a go-to solution for such a simple use case, or maybe I just missed it. I’m considering refining this project, making it open-source, self-hostable, and potentially offering a hosted version (with rate-limiting and a paid option to cover infrastructure costs).

Check it out here:

  • Repo:
  • Live Demo:

What do you think? Would an open-source job scheduler like this be valuable for others? Or is there already a widely-used alternative that I’ve overlooked?

Thanks for your thoughts!