我正在構建一個將使用RabbitMQ消息的Python 3應用程序。是否有一些Python後臺作業庫可以使這個變得簡單?我正在尋找類似於Ruby中Sneakers的東西。我想圖書館有:RabbitMQ的Python後臺工作人員
- 簡單的方法來定義處理的RabbitMQ消息(我有一個單獨的非Python的生產者,將創建的消息,並把它們放到RabbitMQ的應用程序)的工作進程
- 配置多項任務該運行 任務
- 運行工人進程進程化
我正在構建一個將使用RabbitMQ消息的Python 3應用程序。是否有一些Python後臺作業庫可以使這個變得簡單?我正在尋找類似於Ruby中Sneakers的東西。我想圖書館有:RabbitMQ的Python後臺工作人員
我相信你正在尋找Celery
如下
@task
def mytask(param):
return 1 + 1
我們將定義任務,將放置在消息代理(例如RabbitMQ的提到),然後消耗,芹菜執行
您可以配置的工人數量
celery worker --concurrency=10
是的,它可以被妖魔化
無論何時將消息添加到隊列中,我可以配置Celery運行任務嗎?我有一個單獨的非Python生產者應用程序,它將創建消息並將它們放入RabbitMQ – 2015-03-02 07:52:04
是的,當然,這是默認情況。雖然我從來沒有試圖把任務放在非Python蟒蛇製作者的隊列中。 作爲額外的情況下,你可以定期運行任務(如cron),運行它們有一些延遲等 – Retard 2015-03-02 08:26:28
我已經使用librabbitmq將任務從iOS應用程序放入隊列。只要你遵循任務格式(http://docs.celeryproject.org/en/latest/internals/protocol.html),它就會正常工作。 – jbg 2016-01-02 07:16:57
要消耗RabbitMQ的任務,你必須定義工人,但你必須到c守護進程的方式運行工人reate主管對於員工
命令來啓動工作
celery worker --concurrency=10 -Ofair --loglevel=DEBUG -A file_name_without_extension -Q queue_name
步驟來創建監督員
你檢查'amqp'包? – 2015-03-02 06:27:20