芹菜周期性任务不适用于给定的crontab params

时间:2018-01-03 11:42:36

标签: python django heroku celery periodic-task

我需要在特定时间在Django中执行一些后台任务,所以我在@periodic_task文件中使用tasks.py

基本上我有两个任务:

@periodic_task(run_every=(crontab(day_of_month='3-11', hour=11, minute=32)), name="invoice_simulation", ignore_result=False)
def invoice_simulation():
    print('---- task started-----')
    # Do something


@periodic_task(run_every=(crontab(minute='*')), name="print_time_worker", ignore_result=False)
def print_time():
    print('Current time is: ', datetime.now())

在我的本地,一切都运行正常但是当我将代码推送到服务器时,只有print_time()正常工作且invoice_simulation无法在服务器上运行。

我的代码部署在Heroku

部署芹菜登录服务器之后看起来像......

2018-01-03T11:30:06.648963+00:00 app[worker.1]:  
2018-01-03T11:30:06.648975+00:00 app[worker.1]:  -------------- celery@73b10f01-6293-42ad-a0f5-867e4b39f43d v3.1.18 (Cipater)
2018-01-03T11:30:06.648976+00:00 app[worker.1]: ---- **** ----- 
2018-01-03T11:30:06.648977+00:00 app[worker.1]: --- * ***  * -- Linux-3.13.0-133-generic-x86_64-with-debian-jessie-sid
2018-01-03T11:30:06.648977+00:00 app[worker.1]: -- * - **** --- 
2018-01-03T11:30:06.648978+00:00 app[worker.1]: - ** ---------- [config]
2018-01-03T11:30:06.648979+00:00 app[worker.1]: - ** ---------- .> app:         __main__:0x7f8608f52358
2018-01-03T11:30:06.648980+00:00 app[worker.1]: - ** ---------- .> transport:   redis://h:**@ec2-****.compute-1.amazonaws.com:17709//
2018-01-03T11:30:06.648981+00:00 app[worker.1]: - ** ---------- .> results:     redis://h:*@ec2-****.compute-1.amazonaws.com:17709
2018-01-03T11:30:06.648981+00:00 app[worker.1]: - *** --- * --- .> concurrency: 8 (prefork)
2018-01-03T11:30:06.648982+00:00 app[worker.1]: -- ******* ---- 
2018-01-03T11:30:06.648983+00:00 app[worker.1]: --- ***** ----- [queues]
2018-01-03T11:30:06.648983+00:00 app[worker.1]:  -------------- .> celery           exchange=celery(direct) key=celery
2018-01-03T11:30:06.648984+00:00 app[worker.1]:                 
2018-01-03T11:30:06.648984+00:00 app[worker.1]: 
2018-01-03T11:30:06.648985+00:00 app[worker.1]: [tasks]
2018-01-03T11:30:06.648986+00:00 app[worker.1]:   . djcelery_email_send_multiple
2018-01-03T11:30:06.648986+00:00 app[worker.1]:   . invoice_simulation
2018-01-03T11:30:06.648987+00:00 app[worker.1]:   . mdn_core_engine.celery.debug_task
2018-01-03T11:30:06.648987+00:00 app[worker.1]:   . print_time_worker
2018-01-03T11:30:06.648991+00:00 app[worker.1]: 
2018-01-03T11:30:06.722749+00:00 app[worker.1]: [2018-01-03 11:30:06,722: INFO/Beat] beat: Starting...
2018-01-03T11:30:06.763365+00:00 app[worker.1]: [2018-01-03 11:30:06,751: INFO/MainProcess] Connected to redis://h:**@ec2-****.compute-1.amazonaws.com:17709//
2018-01-03T11:30:06.832074+00:00 app[worker.1]: [2018-01-03 11:30:06,831: INFO/MainProcess] mingle: searching for neighbors
2018-01-03T11:30:07.859195+00:00 app[worker.1]: [2018-01-03 11:30:07,858: INFO/MainProcess] mingle: all alone

在heroku上,worker config是:

 celery -A mdn_core_engine worker -B --loglevel=info

0 个答案:

没有答案
相关问题