adcbguo/think_rabbit_mq

this is mall queue

1.0.0 2019-11-06 02:34 UTC

This package is auto-updated.

Last update: 2024-04-06 13:07:46 UTC


README

安装使用

composer require adcbguo/think_rabbit_mq

配置文件


// 复制配置文件 
vendor\adcbguo\think_rabbit_mq\rabbit_mq.php 文件到 config/rabbit_mq.php

// 配置自定义命令 config\console.php 增加一行
'queue:work' => 'queue\command\Work'

发布消息队列

use Queue;
Queue::pash($job,$data,$attempts,['exchange' => 'mall_dev_log', 'queue' => 'mall_dev_log'])

$job 是任务名

执行队列消耗类fire,写类名即可 app\log\jobs\ErrorLogJobs

如果一个任务类里有多个小任务的话,需要用@+方法名 app\log\jobs\OrderLogJobs@update

$data 传递参数

是你要传到任务里的参数,必须是数组数据

在消耗类里使用 $this->data 获取

$attempts 执行次数

从第几次开始执行

$mq 虚拟机和队列

发布到那个虚拟机和队列

需要有对应的虚拟机和队列去消耗

监听任务并执行

php think queue:work --exchange=mall_dev --queue=mall_dev --memory=128 --tries=3

exchange RabbitMQ的虚拟机

queue RabbitMQ的队列

memory 单个进程使用的最大内存,超出内存会从新启动一个进程

tries 单个消息执行最大次数

可配合supervisor使用,保证进程常驻