亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

遠程工作者的 Celery 任務狀態為“PENDING”,但實際上是“SUCCESS”

遠程工作者的 Celery 任務狀態為“PENDING”,但實際上是“SUCCESS”

動漫人物 2023-05-09 16:15:09
我在不同的服務器上有 2 個芹菜工人。我的第一個服務器配置是:CELERY_BROKER_URL = env.str("CELERY_URL") # amqp://<user>:<password>@host/dbCELERY_RESULT_BACKEND = env.str("RESULTS_URL") # redis://<user>:<password>@<host>CELERY_ACCEPT_CONTENT = ["json"]CELERY_TASK_SERIALIZER = "json"CELERY_RESULT_SERIALIZER = "json"CELERY_IGNORE_RESULT = FalseCELERY_TASK_TRACK_STARTED = True# I've also tried CELERY_TASK_STARTED我的第二個服務器配置是broker = "amqp://<user>:<password>@host/db" # same as 1stresult_backend = "redis://<user>:<password>@<host>" # same as 1sttask_track_started = True# I've also tried task_started同樣在我的第二臺服務器上我有一個任務@app.task(name='Test_task')def test_task():    return 'Done!'我從我的第一臺服務器調用這個任務task = app.send_task('Test_task', queue='test_queue')所以我的問題是當我試圖獲得這個任務狀態或結果時它總是相同的>>> task.state'PENDING'>>> print(task.result)None但是如果我在 flower 中檢查這個任務,它的狀態是SUCCESS,結果是Done!我也嘗試過用作rpc://result_backend 但結果仍然相同。我的第一個 Celery worker 在 Pop!_OS 20.04 LTS x86_64 上運行我的第二個 Celery worker 在 Ubuntu 20.04 LTS aarch64 上運行
查看完整描述

1 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

你必須在第二個配置中使用backendinstead ofresult_backend

查看完整回答
反對 回復 2023-05-09
  • 1 回答
  • 0 關注
  • 239 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號