Apio 3.1.11
configuración.py
# Celery transport
BROKER_URL = 'django://'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
from celery.schedules import crontab
CELERYBEAT_SCHEDULE = {
'every-minute': {
'task': 'tasks.sync_oracle_history',
'schedule': crontab(minute='*/1'),
},
}
en la carpeta project.apps.proj, agregue un tasks.py
from __future__ import absolute_import
from celery import task
@task(name='tasks.sync_oracle_history')
def sync_oracle_history():
print "="*30
print "TODO: sync_oracle_history pending"
Ni idea, cualquier sugerencia para mí es bienvenida.
en bash shell, cuando se ejecuta el comando: celery beat -A proj -l info, solo se envía a la cola, no se ejecuta la tarea,
pero cambie el comando celery worker -A proj -l info, la tarea se activará.
Beat no ejecuta tareas, solo envía los mensajes. ¡Necesita tanto una instancia de ritmo como una instancia de trabajador!
gracias @preguntar
Hola, ¿cómo puedo hacer para no usar esos comandos cada vez que quiero ejecutar las tareas? @xiaods @preguntar
Comentario más útil
Beat no ejecuta tareas, solo envía los mensajes. ¡Necesita tanto una instancia de ritmo como una instancia de trabajador!