Ir al contenido
  1. Posts/

FastScheduler: Programador de Tareas Python con Decoradores y Soporte Async

··251 palabras·2 mins·

¿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:

FeatureDetalle
⚡ Async nativoasync def funciona sin configuración extra
🌍 TimezonesCualquier timezone con .tz("America/Buenos_Aires")
📅 Cron expressionsSchedules complejos con sintaxis estándar
🔄 Retries automáticosBackoff exponencial (2s, 4s, 8s…)
⏱️ TimeoutsMata jobs que tardan demasiado
💾 Estado persistenteSobrevive reinicios, maneja jobs perdidos
📬 Dead Letter QueueHistorial 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 👇

También publicado en LinkedIn.
Juan Pedro Bretti Mandarano
Autor
Juan Pedro Bretti Mandarano