PHPackages                             playcat/queue - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. playcat/queue

AbandonedArchivedLibrary[Queues &amp; Workers](/categories/queues)

playcat/queue
=============

Webman plugin MQ

2.2.0(3y ago)114501[1 issues](https://github.com/nsnake/playcat-queue/issues)MITPHPPHP &gt;=7.2

Since Mar 23Pushed 2y ago1 watchersCompare

[ Source](https://github.com/nsnake/playcat-queue)[ Packagist](https://packagist.org/packages/playcat/queue)[ RSS](/packages/playcat-queue/feed)WikiDiscussions master Synced yesterday

READMEChangelog (7)Dependencies (1)Versions (8)Used By (0)

Playcat Queue(2024/4/12 已不更新)
=============================

[](#playcat-queue2024412-已不更新)

本项目不在维护，推荐使用以下替代 基于tp和swoole的队列系统 [playcat-queue-tpswoole](https://github.com/nsnake/playcat-queue-tpswoole)

基于webman的队列系统 [playcat-queue-webman](https://github.com/nsnake/playcat-queue-webman)

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

基于 webman 的消息队列服务 支持 Redis、Kafka 和 RabbitMQ。 支持延迟消息和异常重试

**注意2.0与1.0并不完全兼容**

支持的消息系统
-------

[](#支持的消息系统)

- Redis和Redis集群 (redis &gt;= 5.0)
- Kafka (最新版)
- RabbitMQ (最新版)

扩展要求
----

[](#扩展要求)

- PHP &gt;= 7.2
- webman &gt;= 1.4
- PHP Redis扩展 (redis)
- PHP RdKafka扩展 (kafka)
- PHP php-amqplib/php-amqplib(RabbitMQ)

安装
--

[](#安装)

```
$ composer require "playcat/queue"
```

使用方法
----

[](#使用方法)

### 1.选择合适消息服务端

[](#1选择合适消息服务端)

- Redis Stream(*默认*) 编辑`config\plugin\playcat\queue\redis.php`为对应的redis的配置
- Redis集群 编辑`config\plugin\playcat\queue\manager.php`里的`driver`为如下内容

```
'driver' => \Playcat\Queue\Driver\Rediscluster::class,
```

编辑`config\plugin\playcat\queue\rediscluster.php`为对应的redis的配置

- 使用Kafka
- 首先在Kafka上创建好topic

```
./kaftopics.sh --create --bootstrap-server xxx:9092 --replication-factor 1 --partitions 1 --topic 任务名称
```

编辑`config\plugin\playcat\queue\manager.php`修改里面的`driver`为如下内容

```
'driver' => \Playcat\Queue\Driver\Kafka::class,
```

编辑`config\plugin\playcat\queue\Kafka.php`,为对应的Kafka的配置

- 使用RabbitMQ 编辑`config\plugin\playcat\queue\manager.php`修改里面的`driver`为如下内容

```
'driver' => \Playcat\Queue\Driver\RabbitMQ::class,
```

编辑`config\plugin\playcat\queue\rabbitmq.php`,为对应的Rabbitmq的配置

### 2.创建你自己消费者任务

[](#2创建你自己消费者任务)

#### 新建一个php的文件并且添加以下内容:

[](#新建一个php的文件并且添加以下内容)

```
