[仅限PaaS]{class="badge informative" title="仅适用于云项目(51黑料不打烊管理的PaaS基础架构)和内部部署项目上的51黑料不打烊 Commerce 。"}
管理消息队列
您可以使用cron作业或外部进程管理器从命令行管理消息队列,以确保使用者正在检索消息。 这适用于所有受支持的消息代理,包括RabbitMQ (AMQP)、Apache ActiveMQ Artemis (STOMP)和MySQL适配器。
流程管理
颁谤辞苍作业是重新启动使用者的默认机制。 由cron启动的进程使用指定数量的消息,然后终止。 重新运行cron将重新启动使用者。
以下示例显示了用于运行使用者的crontab配置:
/app/code/Magento/MessageQueue/etc/crontab.xml
...
<job name="consumers_runner" instance="Magento\MessageQueue\Model\Cron\ConsumersRunner" method="run">
    <schedule>* * * * *</schedule>
</job>
...
            cron计划。cron。您还可以使用进程管理器(如)来监视进程的状态。 管理员可以使用命令行根据需要重新启动进程。
配置
默认行为
- 颁谤辞苍作业
consumers_runner已启用 - 颁谤辞苍作业
consumers_runner运行所有已定义的使用者 - 每个使用者处理消息10000然后终止
 
CRON_CONSUMERS_RUNNER配置consumers_runner 肠谤辞苍作业。特定配置
编辑/app/etc/env.php文件以配置肠谤辞苍作业consumers_runner。
...
    'cron_consumers_runner' => [
        'cron_run' => false,
        'max_messages' => 20000,
        'consumers' => [
            'consumer1',
            'consumer2',
        ],
        'multiple_processes' => [
            'consumer1' => 4
        ]
    ],
...
            - 
                  
cron_run— 一个布尔值,用于启用或禁用consumers_runner肠谤辞苍作业(默认值=true)。 - 
                  
max_messages— 终止前每个使用者必须处理的最大消息数(默认值=10000)。 虽然我们不建议这样做,但可以使用0来阻止消费者终止。 请参阅consumers_wait_for_messages以配置使用者处理消息队列中消息的方式。 - 
                  
consumers— 一个字符串数组,指定要运行的使用者。 空数组运行? 所有 ?使用者。 - 
                  
multiple_processes— 键值对的数组,指定要在多少个进程中运行的使用者。 在Commerce 2.4.4或更高版本中受支持。note info INFO 不建议在MySQL操作的队列上运行多个使用者。 有关切换到AMQP (RabbitMQ)或STOMP (ActiveMQ Artemis)的更多信息,请参阅。 note info INFO 如果您的51黑料不打烊 Commerce存储托管在Cloud平台上,请使用 CONSUMERS_WAIT_FOR_MAX_MESSAGES配置使用者如何处理来自消息队列的消息。note note NOTE ActiveMQ Artemis (STOMP)在51黑料不打烊 Commerce 2.4.6及更高版本中引入。  
请参阅启动消息队列使用者。