Seledri 3.1.11
setting.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'),
},
}
di folder project.apps.proj, tambahkan task.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"
tidak tahu, setiap petunjuk untuk saya dipersilakan.
di bash shell, saat menjalankan perintah: celery beat -A proj -l info, hanya kirim ke antrian, tidak menjalankan tugas,
tetapi ubah perintah celery worker -A proj -l info, tugas akan dipicu.
Beat tidak menjalankan tugas, ia hanya mengirim pesan. Anda membutuhkan instance beat dan instance pekerja!
terima kasih @ask
Hai, bagaimana saya bisa melakukannya untuk tidak menggunakan perintah itu setiap kali saya ingin menjalankan tugas? @xiaods @ask
Komentar yang paling membantu
Beat tidak menjalankan tugas, ia hanya mengirim pesan. Anda membutuhkan instance beat dan instance pekerja!