簡體   English   中英

使用芹菜計划任務的兩個應用程序:一名工作人員中的“接收到的未注冊任務”錯誤

[英]Two applications using celery scheduled tasks: “Received unregistered task” errors in one of the workers

場景:

  • 兩個不相關的Web應用程序,它們在同一服務器上運行celery后台任務。
  • 一個RabbitMQ實例
  • 每個Web應用程序都有自己的virtualenv(包括celery)。 兩個virtualenvs中的芹菜版本相同。

我使用以下命令行為每個應用程序啟動一個工作程序和一個節拍過程。

celery -A firstapp.tasks worker
celery -A firstapp.tasks beat
celery -A secondapp.tasks worker --hostname foobar
celery -A secondapp.tasks beat

現在一切似乎都正常,但是在secondapp的工作進程中, secondapp以下錯誤:

Received unregistered task of type 'firstapp.tasks.do_something'

有沒有辦法將兩個芹菜彼此隔離?

我使用的是Celery 3.1.16版,順便說一句。

我相信我通過創建RabbitMQ虛擬主機並配置了第二個應用程序以使用該虛擬機來解決了該問題。

創建虛擬主機(並設置權限):

sudo rabbitmqctl add_vhost /secondapp
sudo rabbitmqctl set_permissions -p /secondapp guest ".*" ".*" ".*"

然后更改第二個應用程序的命令行:

celery -A secondapp.tasks -b amqp://localhost//secondapp worker
celery -A secondapp.tasks -b amqp://localhost//secondapp beat

暫無
暫無

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

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