Show HN: FastScheduler – Decorator-first Python task scheduler, async support
github.com37 points by michielme 7 hours ago
37 points by michielme 7 hours ago
Hi! I've built this because I kept reaching for Celery for simple scheduled tasks and it felt like overkill. I just needed "run this function every hour" or "daily at 9am", not distributed workers.
So it's decorators for scheduling (@scheduler.every(5).minutes, @scheduler.daily.at("09:00")), state saves to JSON so jobs survive restarts, and there's an optional FastAPI dashboard if you want to see what's running.
No Redis, no message broker, runs in-process with your app. Trade-off is it's single process only — if you need distributed workers, stick with Celery.
Looks interesting. Wondering how this is different from the more established https://github.com/agronholm/apscheduler ? APScheduler is solid and more mature. Main difference is the API — FastScheduler is decorator-first so you get @scheduler.daily.at("09:00") instead of configuring triggers, executors, and job stores separately. Also has a built-in FastAPI dashboard. This is really cool, and I could see myself using this. Sometimes I need functionality like this, but can't be bothered to build up the infrastructure around it. This is perfect for that use case. Thanks! Yeah that's exactly the use case — when you just need something scheduled without setting up a whole stack. This looks great OP. Do you have anything on the roadmap that you’d be open to receiving PRs for? I noticed there weren’t any issues in the repo and would be keen to lend a hand! Definitely open to PRs! Still early days so lots of room for improvement. Feel free to open an issue if you have ideas.
antonbassyk - 2 hours ago
michielme - 2 hours ago
techjamie - 3 hours ago
michielme - 3 hours ago
fucalost - 3 hours ago
michielme - 3 hours ago