2010-02-26 9 views
5

Estoy buscando un contenedor alrededor de cron.¿Hay algún contenedor de Python alrededor de cron?

He tropezado con PyCron pero es una implementación de Python, no una envoltura.

¿Conoces alguna buena envoltura de cron Python?

Si no, ¿ha probado PyCron, y qué puede decir al respecto?

// EDIT (Como una respuesta a comentar pidiendo más detalles):

Busco algo para configurar una tarea programada de una manera Pythonic tales como:

>>> job = CronJob(call_back) 
>>> job.schedule(datetime, repeat) 
>>> job.schedule(datetime2, repeat2) 

y pude editar el trabajo corrientes de esta manera:

>>> jobs = loadFromCron() 
>>> jobs[0].shedule().schedule(datetime, repeat) 
>>> print(jobs[0]) 
<CronJob object - "call_back" at 2009-11-01> 

lo ideal sería que escribir y leer de "crontab" en Linux y el uso de "tareas" en planificación debajo de las ventanas.

Puede que haya usado la terminología equivocada, ¿es más exacto hablar de una API de cron Python?

+1

puesto similar para referencia http://stackoverflow.com/questions/373335/suggestions-for-a-cron-like-scheduler-in-python – Martin

+4

creo que es probable que tenga para aclarar su pregunta. El término cron se usa principalmente en el contexto del sistema de trabajo cron de linux, que le permite ejecutar comandos en determinados intervalos de tiempo. No puedo pensar en un envoltorio alrededor de esta funcionalidad. ¿Desea ejecutar un script de python en un determinado intervalo de tiempo? ¿O desea tener una interfaz de python para agregar trabajos cron a su pestaña cron más fácilmente? – FlorianH

+1

cron se activa, verifica los crontabs e inicia procesos. Es una característica central de Linux. ¿Qué haría una "envoltura" alrededor de esto? cron ya puede iniciar procesos que ejecutan Python. cron siempre se está ejecutando. ¿Qué más hay? –

Respuesta

9

python-crontab le permite leer y escribir crontabs de usuario a través de programas de python.

from crontab import CronTab 

tab = CronTab() 
cron = tab.new(command='/foo/bar') 
cron.every_reboot() 
tab.write() 
Cuestiones relacionadas