我们正在迁移我们的体系结构以利用Symfony Messenger组件。目前,我正在处理的是调整应用程序的部署过程。
Symfony documentation建议应在部署时重新启动工作程序以获取新代码。说得通。我的问题是,升级已部署的代码时,这不能解决问题。考虑假设的版本1和2。
第1版可以使用并理解某些消息。
版本2添加了更多消息类型,并更改了版本1中定义的某些消息类型的名称/结构/任何内容。
在部署过程中,为了确保所有消息都已处理并且在新版本中没有不兼容性,这对我来说是直观的过程:
我面临的问题是我看不到任何检查队列是否为空的方法。
我的部署方案正确吗?在使用Symfony Messenger组件(或任何消息队列)的应用程序中,部署通常通常完成吗?确保所有消息类型的向后兼容性的唯一方法是吗?