使用同一队列的多个工作人员的基于 ID 的芹菜队列
ID based celery queue for multiple worker using same queue
我是 celery 的新手,正在构建一个监控应用程序,其中主服务器将使用 celery 和 rabbitmq 获取所有客户端节点服务器状态。
我已经想通了如何使用 celery 发送和接收任务,但仍然坚持为多个服务器使用单个队列。
例如,如果我总共有 200 台服务器
将创建 10 个队列,每个队列将处理 20 个服务器。
[rabbitmq_queue1....10]
我的问题是,当 celery worker 开始监听特定队列时,它会获取队列中的所有任务
celery -A tasks worker -n celery_worker_A -Q rabbitmq_queue_1 --loglevel=DEBUG
那么我怎么能给任务一个ID,让特定的工作人员只选择他的任务,剩下的就交给他了。
感谢您的宝贵时间和帮助!!!
所以正如 DejanLekic 建议的那样,我们不能根据不同的 celery worker id 将任务分配给队列。
刚刚发布了这个答案,所以如果可以帮助像我这样的芹菜新手。
我是 celery 的新手,正在构建一个监控应用程序,其中主服务器将使用 celery 和 rabbitmq 获取所有客户端节点服务器状态。
我已经想通了如何使用 celery 发送和接收任务,但仍然坚持为多个服务器使用单个队列。
例如,如果我总共有 200 台服务器
将创建 10 个队列,每个队列将处理 20 个服务器。
[rabbitmq_queue1....10]
我的问题是,当 celery worker 开始监听特定队列时,它会获取队列中的所有任务
celery -A tasks worker -n celery_worker_A -Q rabbitmq_queue_1 --loglevel=DEBUG
那么我怎么能给任务一个ID,让特定的工作人员只选择他的任务,剩下的就交给他了。
感谢您的宝贵时间和帮助!!!
所以正如 DejanLekic 建议的那样,我们不能根据不同的 celery worker id 将任务分配给队列。
刚刚发布了这个答案,所以如果可以帮助像我这样的芹菜新手。