- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们最近遇到了 celery 框架的糟糕情况。队列中有很多消息,但未处理这些消息。我们重新启动了 celery ,消息又开始被处理了。但是,我们不希望这种情况再次发生,并且正在寻找永久解决方案。
看起来 celery 的 worker 已经过时了。 celery 的文档记录了以下关于陈旧 worker 的信息:
This shows that there’s 2891 messages waiting to be processed in the task queue, and there are two consumers processing them.
One reason that the queue is never emptied could be that you have a stale worker process taking the messages hostage. This could happen if the worker wasn’t properly shut down.
When a message is received by a worker the broker waits for it to be acknowledged before marking the message as processed. The broker will not re-send that message to another consumer until the consumer is shut down properly.
If you hit this problem you have to kill all workers manually and restart them
See documentation
然而,这依赖于人工检查过时的工作人员,留下了很大的错误空间和人工成本。保持 celery 正常工作的好的解决方案是什么?
最佳答案
您可以使用主管或类似主管的工具来部署工作人员,请参阅 Running the worker as daemon .
此外,您可以使用 rabbitmq-management 监控队列状态, 要检查队列是否变得太大,假设您使用的是 RabbitMQ; celery monitoring还提供了一些监控机制
关于django - 如何检测陈旧的工作人员(或自动重启),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22766425/
我不明白文档 here 对我来说,令人困惑的一点是:为什么要在响应上设置 etag 或 last_modified?客户端不是发送 etag 和 if-modified-since header 的人
所以我使用 Selenium 抓取链接。我可以用循环打印我的链接,但我无法导航到它们,因为我收到以下错误: selenium.common.exceptions.StaleElementReferen
这是一个非常奇怪的问题。今天 AS (1.4) 停止在我的项目中正确地重新创建调试 apk: 运行项目时,任何XML 更改都不会反射(reflect)在代码中 对 Java 代码的更改正在传播,即使
简介 我不知道这是一个错误还是我完全遗漏了什么。 我有一个项目(Windows 服务),我们称它为 WINSERV。我有 3 个 DLL,这取决于它们来自 3 个独立的项目(项目 A、B、C)。但是
我是一名优秀的程序员,十分优秀!