首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在多个应用程序中使用芹菜队列

在多个应用程序中使用芹菜队列
EN

Stack Overflow用户
提问于 2017-07-18 03:18:58
回答 1查看 2.3K关注 0票数 6

如何在多个应用中使用相同名称的芹菜队列?

我有一个具有N个客户端数据库的应用程序,所有这些数据库都需要在特定队列M上处理芹菜任务。

对于每个客户端数据库,我都有一个单独的celery worker,我启动时如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
celery worker -A client1 -n client1@%h -P solo -Q long
celery worker -A client2 -n client2@%h -P solo -Q long
celery worker -A client3 -n client3@%h -P solo -Q long

当我同时运行所有的工人,并试图启动一个任务到client1时,我发现它似乎从来没有执行过。然后,我杀死了除第一个工人之外的所有工人,现在第一个工人接收并执行任务。事实证明,即使每个工作者的应用程序使用不同的BROKER_URL,使用相同的队列也会导致他们窃取彼此的任务。

这让我很惊讶,因为如果我不指定-Q,这意味着从“默认”队列中提取芹菜,这种情况就不会发生。

如何通过自定义队列防止这种情况?在队列名称中包含客户端ID是唯一的解决方案吗?或者有更“合适”的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2017-09-19 07:32:53

对于多个应用程序,我使用不同的Redis数据库,例如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
redis://localhost:6379/0
redis://localhost:6379/1

等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45156900

复制
相关文章
RabbitMQ死信队列在SpringBoot中的使用
nack()与reject()的区别是:reject()不支持批量拒绝,而nack()可以.
喜欢天文的pony站长
2020/06/26
1.5K0
RabbitMQ死信队列在SpringBoot中的使用
nack()与reject()的区别是:reject()不支持批量拒绝,而nack()可以.
喜欢天文的pony站长
2020/06/29
1.2K0
RabbitMQ死信队列在SpringBoot中的使用
消息队列在使用中的注意事项
消息队列在使用中的注意事项 异步不是万能的,实现异步重要的手段,消息队列在使用中也是有很多注意事项的。 消息队列的瓶颈 消息队列至少有三处容易出现瓶颈,我们一经典的发布/订阅模式为例。分析一下都可能存在哪些瓶颈。 发布 ---> 队列 ---> 订阅 入队瓶颈,发布消息队列,处理太慢,发布端堵塞应用程序。 队列持久化瓶颈,队列持久化是需要写入磁盘的,大量的密集IO操作 出队瓶颈,(茶壶煮饺子,有嘴倒不出)出队瓶颈还包括订阅端的处理能力, 如果订阅端的处理能力跟不上,也会出现瓶颈。 发布端常见问题 发布端问题
netkiller old
2018/03/05
1.7K0
消息队列在使用中的注意事项
消息队列在使用中的注意事项 异步不是万能的,实现异步重要的手段,消息队列在使用中也是有很多注意事项的。 消息队列的瓶颈 消息队列至少有三处容易出现瓶颈,我们一经典的发布/订阅模式为例。分析一下都可能存在哪些瓶颈。 发布 ---> 队列 ---> 订阅 入队瓶颈,发布消息队列,处理太慢,发布端堵塞应用程序。 队列持久化瓶颈,队列持久化是需要写入磁盘的,大量的密集IO操作 出队瓶颈,(茶壶煮饺子,有嘴倒不出)出队瓶颈还包括订阅端的处理能力, 如果订阅端的处理能力跟不上,也会出现瓶颈。 发布端常见问题 发布端问题
netkiller old
2018/03/05
1.1K0
Laravel 中使用 PM2 管理多个队列
接着上一篇的思路,要在 Laravel 中使用 PM2 管理多个队列,该如何操作呢
Bolton
2023/05/31
6660
在 .NET 应用程序中运行 JavaScript
前几天我在做一个副业,意识到我需要使用一些 JavaScript 功能。一想到要再次处理 Node.js 和 npm,我就完全放弃了,所以我决定研究一下在 .NET 应用程序中运行 JavaScript 的可能性。很疯狂吧?实际上,这出乎意料的简单。
独立观察员
2022/12/06
2.6K0
在 .NET 应用程序中运行 JavaScript
消息队列在VFP中的应用
会员注册成功之后,发送成功的短信\邮件,传统的做法就是在会员注册成功的程序上面做一个发送短信的代码,增加发送邮件的代码,
加菲猫的VFP
2021/08/16
1K0
在CentOS 6.4中使用HTTPSQS搭建队列服务器
一、安装过程   1、下载libevent-2.0.12-stable,并编译安装 wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz tar zxvf libevent-2.0.12-stable.tar.gz cd libevent-2.0.12-stable/ ./configure --prefix=/usr/local/libevent-2.0.12-stable/ make make install
星哥玩云
2022/06/28
7450
在MapReduce中利用MultipleOutputs输出多个文件
用户在使用Mapreduce时默认以part-*命名,MultipleOutputs可以将不同的键值对输出到用户自定义的不同的文件中。
星哥玩云
2022/07/03
2.1K0
在MapReduce中利用MultipleOutputs输出多个文件
使用 pyenv 可以在一个系统中安装多个python版本
2016.01.06 21:02* 字数 82 阅读 24416评论 11喜欢 12
拓荒者
2019/03/11
3.2K0
在IPA中重签名iOS应用程序
当我们在对iOS应用程序执行黑盒安全测试时,我们一般只能从AppStore来访问和获取iOS应用程序。但是在大多数情况下,客户都会给我们提供一个IPA文件。在黑盒测试过程中,我们无法访问目标应用的源代码,因此通过Xcode将其部署到设备并进行测试,几乎是不可能的。但是有一种可行的解决方案,即使用我们手头上的配置文件来重新启动应用程序,并将其部署到我们的测试设备上。
FB客服
2020/03/10
2.4K0
在centOS使用systemctl配置启动多个tomcat
公司服务器使用的是阿里云CentOS7,CentOS7和CentOS6目前最大区别就是service变成了现在的systemctl,简单的查了一下并结合使用,发现systemctl功能上等同于6上面的service+chkconfig,也就是说配置service与设置开机启动都是使用systemctl。
陈灬大灬海
2018/12/24
2K0
在Flutter中制作指纹认证应用程序
现在许多手机都配备了指纹传感器,这使得用户登录和本地身份验证更容易,而且比使用密码更安全。
徐建国
2021/07/31
2.6K0
高性能队列Disruptor在测试中应用
最近在研究goreplay的源码的过程中,感觉有些思路还是很值得借鉴。所以自己立了一个flag,实现一个千万级日志回放功能。但是在这个实现的过程中遇到一个棘手的问题:Java自带的LinkedBlockingQueue比较难以直接满足需求场景和性能要求。
FunTester
2022/02/08
8330
在JavaScript中的数据结构(队列)
理所有的任务,它被称为事件循环。浏览器要负责多个任务,如渲染HTML,执行JavaScript代码,处理用户交互(用户输入、鼠标点击等),执行和处理异步请求。
肥晨
2023/06/27
3110
在JavaScript中的数据结构(队列)
Android应用程序中的多个Activity的显示创建和调用[通俗易懂]
http://download.csdn.net/detail/u011936142/7429455
全栈程序员站长
2022/07/08
1.6K0
Android应用程序中的多个Activity的显示创建和调用[通俗易懂]
在JavaScript中的数据结构(队列)
当我们在浏览器中打开新标签时,就会创建一个任务队列。这是因为每个标签都是单线程处 理所有的任务,它被称为事件循环。浏览器要负责多个任务,如渲染HTML,执行JavaScript代码,处理用户交互(用户输入、鼠标点击等),执行和处理异步请求。
肥晨
2023/08/18
3180
在JavaScript中的数据结构(队列)
使用dotCloud在云端部署Django应用程序
dotCloud的目标是提供一堆不同的独立服务,您可以使用它作为构建模块来构建您的应用程序。如果你需要一个数据库,从他们所支持的服务中挑选一个。需要一个在前端使用Django或Rails的应用程序,而
Hero
2018/01/05
3.4K0
使用dotCloud在云端部署Django应用程序
dotCloud的目标是提供一系列不同的独立服务,作为构建模块,来构建应用程序。如果你需要一个数据库,可以直接从他们所支持的许多数据库中挑选一个。如果应用程序前端使用Django或Rails,而在后端
你竟然在代码里下毒
2018/01/05
3.6K0
使用dotCloud在云端部署Django应用程序
dotCloud的目标是提供一系列独立服务,你可以使用这些服务来构建你的应用程序。比方说,如果你需要一个数据库,就从其所支持的众多数据库中挑选一个。如果需要一个在前端使用Django或Rails的应用
Techeek
2018/01/05
4.1K1

相似问题

芹菜-如何使用多个队列?

12

芹菜守护进程的多个队列

17

在芹菜中,使用多个队列是否对性能有重大影响?

10

Django芹菜多个工作进程和多个队列

10

在芹菜中排列多个队列的优先顺序?

38
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文