PHPackages                             xyqweb/yii2-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. xyqweb/yii2-queue

ActiveYii2-extension[Queues &amp; Workers](/categories/queues)

xyqweb/yii2-queue
=================

Yii2 Queue Extension which supported RabbitMQ

1.9.5(3y ago)12811BSD-3-ClausePHPPHP &gt;=5.5.0

Since Jan 30Pushed 3y ago1 watchersCompare

[ Source](https://github.com/xyqweb/yii2-queue)[ Packagist](https://packagist.org/packages/xyqweb/yii2-queue)[ RSS](/packages/xyqweb-yii2-queue/feed)WikiDiscussions develop Synced 3d ago

READMEChangelog (10)Dependencies (4)Versions (20)Used By (0)

 [ ![](https://avatars0.githubusercontent.com/u/993323) ](https://github.com/yiisoft)

Yii2 Queue Extension
====================

[](#yii2-queue-extension)

An extension for running tasks asynchronously via queues.

It supports queues based on **DB**, **Redis**, **RabbitMQ**, **AMQP**, **Beanstalk** and **Gearman**.

Documentation is at [docs/guide/README.md](docs/guide/README.md).

[![Latest Stable Version](https://camo.githubusercontent.com/0d5e918086808ae4b4351d90e0c88df9035c1d4d721ce2753a532fef8e3c02be/68747470733a2f2f706f7365722e707567782e6f72672f796969736f66742f796969322d71756575652f762f737461626c652e737667)](https://packagist.org/packages/yiisoft/yii2-queue)[![Total Downloads](https://camo.githubusercontent.com/107ca7a75b24075d84b2c6794d5869d5563df59d02109bab198ca168faaa549c/68747470733a2f2f706f7365722e707567782e6f72672f796969736f66742f796969322d71756575652f646f776e6c6f6164732e737667)](https://packagist.org/packages/yiisoft/yii2-queue)[![Build Status](https://camo.githubusercontent.com/df0b5723f3db46691e2eae202e99d7b13ff04bf17e9ebf15384dcec9bc5c8177/68747470733a2f2f7472617669732d63692e6f72672f796969736f66742f796969322d71756575652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/yiisoft/yii2-queue)

Installation
------------

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Either run

```
php composer.phar require --prefer-dist yiisoft/yii2-queue

```

or add

```
"yiisoft/yii2-queue": "~2.0.0"

```

to the require section of your `composer.json` file.

Basic Usage
-----------

[](#basic-usage)

Each task which is sent to queue should be defined as a separate class. For example, if you need to download and save a file the class may look like the following:

```
class DownloadJob extends BaseObject implements \yii\queue\JobInterface
{
    public $url;
    public $file;

    public function execute($queue)
    {
        file_put_contents($this->file, file_get_contents($this->url));
    }
}
```

Here's how to send a task into the queue:

```
Yii::$app->queue->push(new DownloadJob([
    'url' => 'http://example.com/image.jpg',
    'file' => '/tmp/image.jpg',
]));
```

To push a job into the queue that should run after 5 minutes:

```
Yii::$app->queue->delay(5 * 60)->push(new DownloadJob([
    'url' => 'http://example.com/image.jpg',
    'file' => '/tmp/image.jpg',
]));
```

The exact way a task is executed depends on the used driver. Most drivers can be run using console commands, which the component automatically registers in your application.

This command obtains and executes tasks in a loop until the queue is empty:

```
yii queue/run
```

This command launches a daemon which infinitely queries the queue:

```
yii queue/listen
```

See the documentation for more details about driver specific console commands and their options.

The component also has the ability to track the status of a job which was pushed into queue.

```
// Push a job into the queue and get a message ID.
$id = Yii::$app->queue->push(new SomeJob());

// Check whether the job is waiting for execution.
Yii::$app->queue->isWaiting($id);

// Check whether a worker got the job from the queue and executes it.
Yii::$app->queue->isReserved($id);

// Check whether a worker has executed the job.
Yii::$app->queue->isDone($id);
```

For more details see [the guide](docs/guide/README.md).

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity64

Established project with proven stability

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~82 days

Recently: every ~158 days

Total

18

Last Release

1260d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8e0521cfafb934414510e2ecb525825ac216ff57616d55a83ec044c802878c6d?d=identicon)[xyqweb](/maintainers/xyqweb)

---

Tags

queuerabbitmqyiigii

### Embed Badge

![Health badge](/badges/xyqweb-yii2-queue/health.svg)

```
[![Health](https://phpackages.com/badges/xyqweb-yii2-queue/health.svg)](https://phpackages.com/packages/xyqweb-yii2-queue)
```

###  Alternatives

[yiisoft/yii2-queue

Yii2 Queue Extension which supports queues based on DB, Redis, RabbitMQ, Beanstalk, SQS, and Gearman

1.1k10.4M155](/packages/yiisoft-yii2-queue)[php-amqplib/rabbitmq-bundle

Integrates php-amqplib with Symfony &amp; RabbitMq. Formerly emag-tech-labs/rabbitmq-bundle, oldsound/rabbitmq-bundle.

1.3k20.1M65](/packages/php-amqplib-rabbitmq-bundle)[bschmitt/laravel-amqp

AMQP wrapper for Laravel and Lumen to publish and consume messages

2752.3M7](/packages/bschmitt-laravel-amqp)[zhuravljov/yii2-queue-monitor

Yii2 Queue Analytics Module

102203.2k](/packages/zhuravljov-yii2-queue-monitor)[kdyby/rabbitmq

Integrates php-amqplib with RabbitMq and Nette Framework

30693.1k4](/packages/kdyby-rabbitmq)[convenia/pigeon

3233.0k](/packages/convenia-pigeon)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
