承接 magentix/magento-module-message-queue 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

magentix/magento-module-message-queue

最新稳定版本:100.1.1

Composer 安装命令:

composer require magentix/magento-module-message-queue

包简介

README 文档

README

A Magento 2 module that allows you to manually execute MySQL message queue (MysqlMq) messages by their identifier or topic.

Installation

composer require magentix/magento-module-message-queue

Description

This module adds a CLI command queue:message:process that allows you to execute one or more queue messages without having to run the full consumer. This is particularly useful for:

  • Executing the handler associated with a topic without running the entire queue
  • Debugging a specific message that is causing issues
  • Replaying an already processed message (using the --force option)

Important: This module only works with the MySQL (MysqlMq) backend. It is not compatible with RabbitMQ.

The queue:message:status command displays the status of messages in MysqlMq.

Scenarios

Display sales_rule.codegenerator topic statuses:

bin/magento queue:message:process --topic=sales_rule.codegenerator
+----+--------------------------+-----------+---------------------+
| ID | Topic                    | Status    | Update On           |
+----+--------------------------+-----------+---------------------+
| 4  | sales_rule.codegenerator | New       | 2025-12-01 18:23:52 |
| 5  | sales_rule.codegenerator | New       | 2025-12-02 22:10:54 |
| 9  | sales_rule.codegenerator | New       | 2025-12-03 16:05:28 |
+----+--------------------------+-----------+---------------------+

Running all new sales_rule.codegenerator topics:

bin/magento queue:message:process --topic=sales_rule.codegenerator
Message 4: Magento\SalesRule\Model\Coupon\Consumer::process
Message 5: Magento\SalesRule\Model\Coupon\Consumer::process
Message 9: Magento\SalesRule\Model\Coupon\Consumer::process

Running a specific topic already executed, nothing happens:

bin/magento queue:message:process --id=4

Running a specific topic already executed using the --force option:

bin/magento queue:message:process --id=4 --force=1
Message 4: Magento\SalesRule\Model\Coupon\Consumer::process

Usage

Syntax

bin/magento queue:message:status [options]
bin/magento queue:message:process [options]

Options

Option Shortcut Description
--id -m Message ID in the queue_message table
--topic -t Topic name (e.g., product_alert, sales.rule.quote.trigger.recollect)
--area -a Area code (global, adminhtml, frontend)
--force -f Force execution even if the message status is not NEW

Examples

Display all messages

bin/magento queue:message:status

Filter by topic

bin/magento queue:message:status --topic=product_alert

Display a specific message

bin/magento queue:message:status --id=123

Execute a specific message by its ID

bin/magento queue:message:process --id=123

Execute all messages for a topic

bin/magento queue:message:process --topic=product_alert

Execute a specific message for a topic

bin/magento queue:message:process --id=456 --topic=product_alert

Force execution of an already completed or processed message

bin/magento queue:message:process --id=789 --force=1

Technical Notes

Multiple Handlers

If a topic has multiple handlers configured in communication.xml, all handlers will be executed for each message.

Error Handling

If an error occurs during message decoding, an error message is displayed and processing moves to the next message. The message status is not modified in case of error.

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2025-12-03