【问题标题】:persist celery events while receiver is down在接收器关闭时坚持芹菜事件
【发布时间】:2019-12-21 11:03:39
【问题描述】:

当我的接收器关闭时,celery 的事件会发生什么? 根据文档(https://docs.celeryproject.org/en/latest/userguide/monitoring.html#real-time-processing),我需要运行一个单独的进程来监听 celery 事件并处理它们。 但是,如果我必须关闭接收器进程以进行维护或其他目的,所有事件都将永远丢失?

我可以坚持这个事件吗?

【问题讨论】:

    标签: events celery monitoring


    【解决方案1】:

    长答案:这取决于您的经纪人选择。
    简短的回答:三个最受欢迎的 celery 代理是 RabbitMQ、redis 和 SQS。每一个都提供了一定程度的持久性和。 Rabbit MQ 和 SQS 是消息队列服务,提供一次且仅一次的“保证传递”消息。默认的 redis 配置会将消息保存在 RAM 中并在最多十五分钟后将它们保存到磁盘,因此如果 redis 在十五分钟内关闭,您将丢失消息/任务。

    【讨论】:

    • 当我谈到事件时,我指的是监控事件(如任务开始、任务结束、任务失败 ecc)。根据文档,这些事件是通过没有持久性的发布/订阅通道发送的。 PS:我使用redis作为broker
    猜你喜欢
    • 1970-01-01
    • 2022-10-25
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多