簡體   English   中英

celery 任務計划但未在 ETA 執行

[英]celery task scheduled but not executed at ETA

我的芹菜配置如下:

# create context tasks in celery
celery = Celery(
    __name__,
    # redis
    backend=app.config['CELERY_RESULT_BACKEND'],
    broker=app.config['CELERY_BROKER_URL'],
    include=['app.celery_tasks.tasks']
)
celery.conf.timezone = 'US/Pacific'
celery.conf.broker_transport_options = {'visibility_timeout': 3600*24}
celery.conf.task_routes = {
    'tasks.periodic': {
        'queue': 'periodic',
        'routing_key': 'tasks.periodic'
    },
    'tasks.generate_report': {
        'queue': 'report',
        'routing_key': 'tasks.generate_report'
    }
}

然后我使用這個輔助方法來獲取我所有報告任務的 eta

def get_eta_time(time_d=8):
    tz = timezone('US/Pacific')
    ct = datetime.now(tz=tz)
    eta = ct + timedelta(hours=time_d)
    return eta

我遇到的事情是我可以看到任務是使用 celery 控件安排的,但是當 eta 到達時它們沒有執行。 然而,當我試圖重新啟動我的 celery worker 時,這些任務立即得到了執行。 我的芹菜配置中有什么我錯過的嗎?

我的任務觸發如下:

eta = get_eta_time()
generate_report.apply_async(args=(log_location, repetition_count+1), queue='report', eta=eta)

我的定期隊列按預期工作,但我的報告隊列對我沒有任何意義。

原來是一些硬件問題。 我切換到另一台機器,它現在正在工作。

暫無
暫無

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

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