Symfony Messenger-检查队列是否为空

时间:2019-07-24 09:55:03

标签: symfony message-queue

我们正在迁移我们的体系结构以利用Symfony Messenger组件。目前,我正在处理的是调整应用程序的部署过程。

Symfony documentation建议应在部署时重新启动工作程序以获取新代码。说得通。我的问题是,升级已部署的代码时,这不能解决问题。考虑假设的版本1和2。

第1版可以使用并理解某些消息。

版本2添加了更多消息类型,并更改了版本1中定义的某些消息类型的名称/结构/任何内容。

在部署过程中,为了确保所有消息都已处理并且在新版本中没有不兼容性,这对我来说是直观的过程:

  • 停止接受新消息到队列(将站点置于“维护模式”)
  • 让工作人员完成队列中待处理消息的处理
  • 部署新代码
  • 重新开始工作
  • 开始接受新消息

我面临的问题是我看不到任何检查队列是否为空的方法。

我的部署方案正确吗?在使用Symfony Messenger组件(或任何消息队列)的应用程序中,部署通常通常完成吗?确保所有消息类型的向后兼容性的唯一方法是吗?

0 个答案:

没有答案