Apio: programe tareas periódicas a partir de una hora específica

¿Cuál es la mejor manera de progtwigr una tarea periódica a partir de una fecha específica?

(No estoy usando cron para esto, teniendo en cuenta que tengo la necesidad de progtwigr alrededor de cien rsyncs remotos, donde calculo el desplazamiento remoto frente al local y necesitaría rsync cada ruta en el segundo que se generan los registros en cada host).

A mi entender, la clase crontab celery.task.schedules solo permite especificar hora, minuto, día de la semana. El consejo más útil que he encontrado hasta ahora fue esta respuesta de nosklo .

¿Es esta la mejor solución? ¿Estoy usando la herramienta equivocada para el trabajo?

    El apio parece ser una buena solución para su problema de progtwigción: las tareas periódicas de Celery tienen una resolución de tiempo de ejecución en segundos.

    Estás usando una herramienta apropiada aquí, pero la entrada de crontab no es lo que quieres. Desea utilizar el objeto datetime.timedelta de python; El progtwigdor crontab en celery.schedules tiene una resolución de solo un minuto, pero el uso de timedelta para configurar el intervalo de tarea periódica proporciona una funcionalidad estrictamente más, en este caso, por resolución de segundo.

    por ejemplo, de los documentos de apio

    >>> from celery.task import tasks, PeriodicTask >>> from datetime import timedelta >>> class EveryThirtySecondsTask(PeriodicTask): ... run_every = timedelta(seconds=30) ... ... def run(self, **kwargs): ... logger = self.get_logger(**kwargs) ... logger.info("Execute every 30 seconds") 

    http://ask.github.com/celery/reference/celery.task.base.html#celery.task.base.PeriodicTask

     class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0) 

    El único desafío aquí es que debe describir la frecuencia con la que desea que se ejecute esta tarea en lugar de a qué hora del reloj desea que se ejecute; sin embargo, le sugiero que consulte el Progtwigdor de Python avanzado http://packages.python.org/APScheduler/

    Parece que Advanced Python Scheduler podría usarse fácilmente para iniciar tareas de apio normales (es decir, no periódicas) en cualquier horario de su elección utilizando su propia funcionalidad de progtwigción.

    Recientemente he trabajado en una tarea que involucraba a Celery, y tuve que usarla para operaciones asíncronas así como para tareas progtwigdas. Basta con decir que volví al antiguo crontab para la tarea progtwigda, aunque se llama a un script de Python que genera una tarea asíncrona separada. De esta manera tengo menos que mantener para el crontab (para hacer que el progtwigdor de Celery funcione allí necesita una configuración adicional), pero estoy haciendo un uso completo de las capacidades asíncronas de Celery.