我正在使用Laravel软件包https://github.com/bschmitt/laravel-amqp/在基于Microservices的应用程序中使用RabbitMQ发布和使用消息。我正在服务中发布消息,并尝试在其他服务中使用该消息。
文档上的代码非常清楚,可以使用队列中已发布的消息。但是,在传统的Laravel队列过程中,我们将描述要在handle()方法内部执行的过程。并调用php artisan queue:work命令执行队列。
但是在文档中,这里的代码很清楚地使用了消息,但是如何使用工匠的命令来使用和执行消息却令人困惑。
我将在Laravel应用程序中的代码下方编写以下代码,并在生产服务器中收听它:
Amqp :: consume('queue-name',function($ message,$ resolver){
var_dump($ message-> body);
$$ solver->确认($ message);
});
目前,我正在使用AppServiceProvider.php文件boot()方法中来自队列的消息。但不确定是否遵循正确方法。
消费消息的方法是创建一个定制的artisan命令来侦听队列。我们需要运行命令并自行处理保持活动,因为该程序包没有为此提供任何样板文件。通过在配置中将参数Persistent设置为true,可以使连接保持活动状态。