Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 芹菜,仅针对特定工人添加_Linux_Rabbitmq_Celery - Fatal编程技术网

Linux 芹菜,仅针对特定工人添加

Linux 芹菜,仅针对特定工人添加,linux,rabbitmq,celery,Linux,Rabbitmq,Celery,我有一个芹菜设置,RabbitMQ作为后端。有不同类型的工作人员执行不同的任务,他们都在同一虚拟主机上。对于一种特定类型的工作者,我在代码中使用add_consumer/cancel_consumer指令。但这样做会导致所有工作人员开始/停止侦听队列。我能找到的选项是: 通过workers获取worker列表,regex部分匹配worker名称,并将结果用作add_consumer中的目标参数 在单独的虚拟主机中隔离此工作程序类型。看起来为不同的芹菜项目创建一个单独的虚拟主机是一个很好的实践。但

我有一个芹菜设置,RabbitMQ作为后端。有不同类型的工作人员执行不同的任务,他们都在同一虚拟主机上。对于一种特定类型的工作者,我在代码中使用add_consumer/cancel_consumer指令。但这样做会导致所有工作人员开始/停止侦听队列。我能找到的选项是:

  • 通过workers获取worker列表,regex部分匹配worker名称,并将结果用作add_consumer中的目标参数
  • 在单独的虚拟主机中隔离此工作程序类型。看起来为不同的芹菜项目创建一个单独的虚拟主机是一个很好的实践。但是我不确定为同一个芹菜项目使用两个虚拟主机是否是一个好的做法

  • 芹菜有没有其他方法可以做到这一点?

    3选项:让这些类型的员工听广播交流。在此exchange上发布“添加消费者/取消消费者队列”消息,每个工作人员将逐个开始/停止侦听指定队列。在启动工作人员之前,应使用
    -n worker\u name
    ,为工作人员命名,因此,您可以在add_consumer/cancel_consumer选项1的工作方式中使用此名称作为目标参数。