RabbitMQ ドライバ

注意: このドライバは 2.0.2 以降、非推奨となっており、2.1 では削除される予定です。 代替として amqp_interop ドライバの使用を検討して下さい。

このドライバは RabbitMQ のキューによって動作します。

php-amqplib/php-amqplib パッケージを必要とします。

構成例:

return [
    'bootstrap' => [
        'queue', // コンポーネントが自身のコンソール・コマンドを登録します
    ],
    'components' => [
        'queue' => [
            'class' => \yii\queue\amqp\Queue::class,
            'host' => 'localhost',
            'port' => 5672,
            'user' => 'guest',
            'password' => 'guest',
            'queueName' => 'queue',
        ],
    ],
];

コンソール

キューに入れられたジョブを実行するためにコンソール・コマンドが使用されます。

yii queue/listen [timeout]

listen コマンドが無限にキューを調べ続けるデーモンを起動します。キューに新しいタスクがあると、即座に取得され、実行されます。 timeout パラメータはキューを調べる間のスリープの秒数を指定するものです。 このコマンドを supervisor または systemd によって適切にデーモン化するのが、 最も効率的な方法です。