簡體   English   中英

分離芹菜消費者和生產者

[英]Separating celery consumer and producer

我希望我寫的電子郵件服務與我的燒瓶應用程序完全分離。 我正在使用帶有rabbitmq的芹菜。 所以我想知道是否有一種方法可以配置芹菜,以便在一個項目中我有Flask應用程序將消息發送到隊列(生產者)。 在另一個項目中,我運行了芹菜實例,它監聽消息並執行任務(使用者)。 我仍然對通信如何正常工作感到困惑? 我是否將API(發送電子郵件)放入我的燒瓶應用程序或芹菜項目中? 最后,我想將Flask應用程序和Celery實例放在不同的EC2實例中 - 使用rabbitmq充當消息代理。

謝謝你的幫助!

您可以使用Celery的send_task函數通過RabbitMQ使用任務名稱將任務發送給worker。 您仍然需要導入您擁有芹菜應用程序的模塊:

如果任務未在當前進程中注冊,則可以使用send_task()來代替調用任務。

例:

from yourmodule.yourapp import celery
celery.send_task("yourtasksmodule.yourtask", args=["Hello World"])

暫無
暫無

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

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