Ejecutar con puruto-cron
This content is not available in your language yet.
Qué resuelve esta receta
Montar un flujo mínimo con puruto-cron para:
- inicializar el scheduler
- declarar un job en
.jobs.json - sincronizarlo
- ejecutarlo manualmente con
/run-now - inspeccionar notificaciones/logs
Prerrequisitos
- Framework
puruto/disponible - Python 3.10+
- Ecosistema
~/purutos/(recomendado)
Resultado esperado
Al final tendrás un puruto-cron operativo (MVP scaffold) con al menos un job registrado y ejecutable.
Paso 1. Genera puruto-cron
python3 .claude/skills/puruto-generator/scripts/generate.py --name puruto-cronPaso 2. Prepara .env
cd ~/purutos/puruto-croncp .env.example .envVariables útiles en el scaffold:
DB_PATHPURUTO_CRON_POLL_SECONDSPURUTO_CRON_LEASE_SECONDSPURUTO_TELEGRAM_PATHPURUTO_TELEGRAM_OUTBOX_FILE
Paso 3. Inicializa el scheduler (modo agente o CLI)
Con agente (recomendado)
Ejecuta:
/init
El scaffold de la skill init hace (según snapshot del generador):
mkdir -p db runs notificationspython3 main.py init-dbpython3 main.py sync-jobspython3 main.py status
Sin agente (manual)
mkdir -p db runs notificationspython3 main.py init-dbpython3 main.py sync-jobspython3 main.py statusPaso 4. Edita .jobs.json
El scaffold ya genera un ejemplo de job en .jobs.json. Revísalo y ajusta:
job_idenabledpuruto_targetscheduleprompt
Campos útiles adicionales del ejemplo scaffold:
notify_channeltimeout_secmax_retriesretry_backoff_sec
Paso 5. Sincroniza jobs
python3 main.py sync-jobspython3 main.py statusPaso 6. Ejecuta un job inmediatamente
Según la skill /run-now del scaffold:
python3 main.py run-now <job_id>Qué revisar después:
- resultado (
ok/error) run_id(si el runtime lo reporta)notifications/events.jsonl
Paso 7. Inspecciona logs/notificaciones
La skill /logs del scaffold sugiere:
ls -la notifications runstail -n 20 notifications/events.jsonlSi aún no hay ficheros, puede ser normal en un entorno recién creado.
Integración opcional con puruto-telegram
puruto-cron puede replicar eventos a un outbox local para puruto-telegram.
Revisa en .env:
PURUTO_TELEGRAM_PATHPURUTO_TELEGRAM_OUTBOX_FILE
Luego en puruto-telegram podrás usar inbox.py / /drain-inbox.
Problemas comunes
main.py init-db falla
Revisa:
- versión de Python
- ruta actual (
~/purutos/puruto-cron) - archivos scaffold presentes (
main.py,db.py, etc.)
El job no aparece en status
Revisa:
- JSON válido en
.jobs.json - ejecución de
python3 main.py sync-jobs enableddel job
Siguientes pasos
Última verificación
Contenido contrastado con snapshots de puruto-cron y templates .env.example del generador el 25 de febrero de 2026.