Magento2 的消息队列的使用
一、消息队列支持的类型
Magento2自从2.3.2以后优惠券生成使用了消息队列,队列实现的方式有两种一种时mq,另外一种是mysql
二、消息队列的配置(具体可参考模块sales_rule):
-
queue.xml-定义处理主题的代理。仅用于db(MySQL)连接。不要为amqp(RabbitMQ)连接创建此文件。
-
communication.xml -定义所有通信类型共有的消息队列系统的各个方面
-
queue_consumer.xml -定义现有队列与其使用者之间的关系。
-
queue_topology.xml -定义消息路由规则,并声明队列和交换。
-
queue_publisher.xml -定义发布主题的交易所
三、使用mysql作为消息队列
使用mysql小新队列时依赖模块mq_mysql,必须要加载这个模块才能使用,加载完成后数据库会有queue,queue_message,queue_message_status这几张表,其中queue_message_status的staus的数值对应的是
2 = new
3 = in progress
4 = complete
5 = retry required
6 = error
7 = to be deleted
四、开启消息队列的消费者
- 配置好文件后开启消费者,执行php 安装目录 bin/magento cron:install将会安装定时任务
- 执行php 安装目录 bin/magento cron:run,将会在数据库表创建定时任务任务的消息,使用ps-ef可以查看是否成功开启消息队列的消费者
https://www.923z.cn