
⏰ ¿Cansado de Celery para tareas simples? FastScheduler lo resuelve en una línea.
FastScheduler es un scheduler Python ligero con API basada en decoradores, soporte async nativo, cron expressions y un dashboard en tiempo real. Instalación: pip install fastscheduler.
🎯 Scheduling en una línea:
from fastscheduler import FastScheduler
scheduler = FastScheduler(quiet=True)
@scheduler.every(10).seconds
def heartbeat():
print("ping")
@scheduler.daily.at("09:00", tz="America/New_York")
async def morning_report():
await send_report()
@scheduler.cron("*/15 * * * *")
def check_api():
ping_health_endpoint()
scheduler.start()📋 Todo lo que incluye:
| Feature | Detalle |
|---|---|
| ⚡ Async nativo | async def funciona sin configuración extra |
| 🌍 Timezones | Cualquier timezone con .tz("America/Buenos_Aires") |
| 📅 Cron expressions | Schedules complejos con sintaxis estándar |
| 🔄 Retries automáticos | Backoff exponencial (2s, 4s, 8s…) |
| ⏱️ Timeouts | Mata jobs que tardan demasiado |
| 💾 Estado persistente | Sobrevive reinicios, maneja jobs perdidos |
| 📬 Dead Letter Queue | Historial de jobs fallidos con detalles |
🖥️ Dashboard integrado con FastAPI:
from fastscheduler.fastapi_integration import create_scheduler_routes
app.include_router(create_scheduler_routes(scheduler))
# Dashboard en: http://localhost:8000/scheduler/🔍 Explicación en pocas palabras
Un “scheduler” es un programa que ejecuta tareas automáticamente en momentos específicos — como un despertador para tu código. Por ejemplo: “ejecutá esta función todos los días a las 9 AM” o “revisá la API cada 15 minutos”. FastScheduler hace eso en Python con solo agregar @scheduler.every(10).seconds arriba de cualquier función, sin configurar servidores adicionales.
Más información en el link 👇
