RabbitMQ安装延迟队列插件和php的使用

安装延迟队列插件

  • 下载延迟队列插件,支持RabbitMQ 3.5.8及更高版本,[下载地址]([https://github.com/rabbitmq/rabbitmq-delayed-message-exchange]
    , 这里使用3.7.18版本为例,下载[rabbitmq_delayed_message_exchange-3.8.0.ez
  • 把.ez文件放在插件目录,我的rabbitmq是用yum安装的,目录在/usr/lib/rabbitmq/lib/rabbitmq_server-3.7.18/plugins
  • Enabling the Plugin
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
  • 安装完成,在管理界面可以看到新的exchange类型


    9NQXMLQS8IC.png
  • 延迟exchange指定type

6T.png

php程序中使用延迟队列

  • 在程序中定义延迟队列,我们上面使用管理界面定义,可以不用在程序里定义


    HEZSQ(LI4.png
  • 延迟队列publish, 这里的$delayTS为秒,延迟队列支持毫秒精度的延迟

$exchange->publish(json_encode($message), null, AMQP_NOPARAM, ['headers' => ['x-delay'=> 1000 * $delayTS]]);

你可能感兴趣的:(RabbitMQ安装延迟队列插件和php的使用)