【问题标题】:is it possible to listen to codebase changes in rabbitmq consumer?是否可以在 rabbitmq 消费者中收听代码库更改?
【发布时间】:2021-02-17 00:35:36
【问题描述】:

我在使用 php-amqplib 的 rabbitmq 中有一个特殊问题,其中 consumer.php 不使用更新的代码库,而是使用旧代码。

rabbitmq 有类似 laravel 的监听命令吗? php工匠队列:听 https://laravel.com/docs/8.x/queues#running-the-queue-worker

如果不能,您能否为我的用例推荐任何替代方案?

【问题讨论】:

    标签: php rabbitmq


    【解决方案1】:

    您在这里混淆了不同软件的职责:

    • RabbitMQ 不知道也不关心你是否正在运行 PHP
    • php-amqplib 不关心 什么您正在运行 PHP,它只是将消息传递给您指定的回调
    • 您链接的 Laravel 命令建立在这些技术之上,而不是而不是它们;它还在您链接的文档中明确指出,它不会监控已部署代码中的更改

    消费者脚本通常是一段包含无限循环的 PHP 代码;运行和重新启动它的一般方法是:

    • 退出时使用Supervisor 之类的内容重新启动它
    • 在部署代码时包含适当的代码以打破无限循环,从而使脚本干净地退出

    Laravel 对此的实现是 the queue:restart command,所以你可以看看它是如何编写的以获取灵感。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 2018-07-02
      • 1970-01-01
      相关资源
      最近更新 更多