RabbitMQ的Python后台工作者

时间:2015-03-02 06:10:57

标签: python python-3.x rabbitmq backgroundworker

我正在构建一个Python 3应用程序,它将使用来自RabbitMQ的消息。是否有一些Python后台作业库可以使这很容易?我在Ruby中寻找类似于Sneakers的东西。我想图书馆有:

  • 定义处理RabbitMQ消息的任务的简单方法(我有一个单独的非Python生成器应用程序,它将创建消息并将它们放入RabbitMQ)
  • 配置运行的工作进程数 任务
  • 将工作人员作为守护进程运行

2 个答案:

答案 0 :(得分:2)

我相信你正在寻找Celery

您将按如下方式定义任务

@task
def mytask(param):
    return 1 + 1

它将被放入消息代理(例如提到的RabbitMQ),然后从芹菜中消费和执行

您可以配置工作人员数量

celery worker --concurrency=10

是的,它可以被妖魔化

答案 1 :(得分:1)

要使用RabbitMq的任务,您必须定义worker,但要以daemonized模式运行worker,您必须为该worker创建一个supervisor