[pyar] Scheduling de envío de comandos

Francisco Roldan franciscoproldan en gmail.com
Lun Ago 3 14:39:48 ART 2015


Martín, buenas tardes!
Quería agradecerte por la respuesta, hoy me puse con ese tema y lo pude
resolver de la forma que planteaste, usando el DatabaseScheduler y creando
PeriodicTask.

Gracias!

El 23 de julio de 2015, 16:03, Martin Alderete <malderete en gmail.com>
escribió:

> Francisco,
> Como va?
>
> Para hacer eso, tener tareas que se "planifican" desde la DB,  lo que he
> hehco (generalmente se hace) es usar otro "Schdeuler" y no el que trae
> Celery por default.
>
> Personalmente lo que hice es instalar "djcelery" (
> https://github.com/celery/django-celery) y usar el scheduler
> "DatabaseScheduler" que viene con "djcelery". Este scheduler
> (DatabaseScheduler) lo que hace es buscar modelos "PeriodicTask" (tambien
> de "djcelery.models") en la DB y planifica esas tareas. "Djcelery" viene
> preparado para que uses el "admin de django", pero podrias hacerlo si fuera
> necesario "a mano" generando "PeriodicTask" y guardandolas en la db, esto
> no lo hice pero deberia ser factible luego de ver el codigo =D.
> Cuando se crea un "PeriodicTask" se lanza una signal de Django que
> actualiza "PeriodicTasks" (plural) y el scheduler recarga las tasks.
>
> Para correr celery con DatabaseScheduler lo que hice es:
>
> celery -A <proyecto> beat -S djcelery.schedulers.DatabaseScheduler
>
> Bueno, Espero que sirva y nos ea una ensalada :)
>
> Cualquier cosa avisa
>
> Saludos
>
>
>
>
> 2015-07-23 13:53 GMT-03:00 Francisco Roldan <franciscoproldan en gmail.com>:
>
>> Buenas!, Martín te consulto ya que había hecho una pregunta parecida en
>> la lista.
>> Yo estoy usando Celery Beat y el problema justamente es que tengo la
>> configuración de "a que hora se ejecuta la tarea" en una base de datos y
>> cuando se cambia ese valor tengo que restartear celerybeat. No conoces
>> alguna forma automágica de hacer eso, por ejemplo desde django usando una
>> signal o sobreescribiendo el save() del modelo? o no queda otra de hacerlo
>> a pata?
>>
>> Gracias
>>
>>
>>
>> El 23 de julio de 2015, 13:48, Martin Alderete <malderete en gmail.com>
>> escribió:
>>
>>> Buenas!
>>> Como va?
>>>
>>> Con Celery (especialmente el scheduler "Celery Beat") y algun poco de
>>> laburo lo podrias hacer, el tema es que si esa configuracion es de la db y
>>> cambia deberias restartear el daemon etc.... Ojo! Se puede porque lo he
>>> hecho pero no siempre vale la pena.
>>>
>>> Una alternativa (si aplica) es usar "django-cron" (
>>> http://django-cron.readthedocs.org/en/latest/) basicamente creas
>>> "Comandos" y pones un cron en el sistema ponele cada 1 minuto ese cron
>>> ejecuta un management command de "django-cron" que se fija si debe correr
>>> alguna tarea en ese momento y lo hace.
>>>
>>> Espero te sirva
>>> Saludos,
>>>
>>>
>>> 2015-07-23 13:39 GMT-03:00 Manuel Kaufmann <humitos en gmail.com>:
>>>
>>>> El 23/07/15 a las 12:11, Willians Vivanco escribió:
>>>>
>>>>> He estado leyendo un poco de celery, pero no me queda claro como lograr
>>>>> algo como:
>>>>>
>>>>> Hora                      Comando
>>>>> -------------------------|----------------------------------------
>>>>> 12:33:10.345          Reproducir material1.mov
>>>>> 13:21:45.220          Precargar material2.mov
>>>>>
>>>>
>>>> No entiendo muy bien el problema.
>>>>
>>>> Básicamente con Celery vos podes decir:
>>>>
>>>> - "ejecutá esta función de Python a esta hora exacta"
>>>>
>>>> - "ejecutá esta función de Python todos los días a las 00:23"
>>>>
>>>> etc
>>>>
>>>> Ahora, en esa función de Python podés hacer lo que quieras ;)
>>>>
>>>>
>>>> --
>>>>
>>>> Kaufmann Manuel
>>>> -- http://elblogdehumitos.com.ar/
>>>> _______________________________________________
>>>> pyar mailing list pyar en python.org.ar
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>>
>>>
>>>
>>>
>>> --
>>> Martin Alderete
>>>
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
>
> --
> Martin Alderete
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150803/cef9ee77/attachment-0001.html>


More information about the pyar mailing list