2017-06-08 11 views
0

私はジョブをキューに入れるlaravelのキューで作業しました。 php artisan queue:workコマンドはジョブをキューに入れて処理します。laravelで基本的なキューをジョブなしで使用する方法

しかし、私はジョブなしで純粋なキューを使いたいです。一つのプロセスはそれをキューにプッシュし、もう一つのプロセスはキューから読み込んでそれを処理します。

たとえば、ログインapiリクエストでは、メールIDだけをキューにプッシュします。キューEnties(電子メールのリスト)を読み取って何らかのアクションを実行できるバックグラウンドプロセスが実行されます(キューではありません)。

だから私はキューから読むことができるカスタムワーカーが必要です。

laravelでこれを行う方法は?

+0

おそらく、キュー可能イベント(データベースキュードライバなどを使用)を使用したいと考えています。 – Kyslik

+0

私が知る限り、イベントは同じプロセスでトリガーされます。ただし、キュー可能でない限り、キューイング可能なイベント処理はジョブと同じでした。 –

+0

まあまあ、非同期作業、キューにプッシュされたイベントを発生させ、ワーカーがあなたのためにそれをやり遂げるようにしたい。あなたはShouldQueueインターフェースを持つ "イベント"クラスを持つ "ジョブ"クラスは必要ありません。あなたが探しているものはありませんか?実生活の例を作りましょう。 – Kyslik

答えて

1

これは直接できません。 https://github.com/laravel/framework/issues/17083

デザインによって、これは許されません。しかし、カスタムソリューションを実装しようとすることはできます。

+0

はい、そのように思われるため、カスタムキュードライバを作成する必要があります。 –

関連する問題