Сельдерей 3.1.11
settings.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'),
},
}
в папке project.apps.proj добавьте 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"
понятия не имею, любые подсказки для меня приветствуются.
в оболочке bash при запуске команды: celery beat -A proj -l info, только отправлять в очередь, не запуская задачу,
но измените команду celery worker -A proj -l info, задача запустится.
Beat не выполняет задачи, он просто отправляет сообщения. Вам нужен как битовый экземпляр, так и рабочий экземпляр!
спасибо @спросить
Привет, как я могу не использовать эти команды каждый раз, когда я хочу запустить задачи? @xiaods @спросить
Самый полезный комментарий
Beat не выполняет задачи, он просто отправляет сообщения. Вам нужен как битовый экземпляр, так и рабочий экземпляр!