簡體   English   中英

特定時間的Django Celery定期任務

[英]Django Celery Periodic Task at specific time

我在項目中使用celery==4.1.1 在我的settings.py ,我有以下內容:

from celery.schedules import crontab

CELERY_BROKER_URL = "redis://127.0.0.1:6379/1"
CELERY_TIMEZONE = 'Asia/Kolkata'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_RESULT_BACKEND = "redis://127.0.0.1:6379/1"


CELERY_BEAT_SCHEDULE = {
    'task-number-one': {
        'task': 'mathematica.core.tasks.another_test',
        'schedule': crontab(minute=45, hour=00)
    },
    'task-number-two': {
        'task': 'mathematica.core.tasks.test',
        'schedule': crontab(hour='*/1')
    }
}

CELERY_BEAT_SCHEDULE提到的第二項任務運行良好。 但是,第一個任務mathematica.core.tasks.another_test是一個返回字符串的簡單函數,它不在指定的時間00:45 (45 minutes past midnight) 我嘗試了每天在給定時間運行函數的多種方法,但未能達到相同的效果。

請提出達到相同結果的方法/提示。

'automatic_daily_report': {
            'task': 'tasks.daily_reports',
            'schedule': crontab(hour=0, minute=0),
            'args': None
        }


@shared_task()
def daily_reports():
    print("Mid- Night")

上面的代碼為我工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM