Skip to content
基于RabbitMQ ThinkPHP 的队列封装
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
queue
.gitignore
README.md
composer.json
rabbit_mq.php

README.md

基于RabbitMQ ThinkPHP 的队列封装

安装使用

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使用,保证进程常驻

You can’t perform that action at this time.