↓ 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