hznt/mall_php_queue

this is mall queue

1.0.5 2019-06-15 07:22 UTC

README

安装使用

composer require hznt/mall_php_queue

配置文件

复制composer库目录下的 rabbit_mq.php 文件到 config/rabbit_mq.php

发布消息队列

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 消耗的虚拟机

queue 消耗的队列

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

tries 单个消息执行最大次数

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