2017-11-13 3 views
1

に異なるキュー・プロバイダーへのジョブをディスパッチする方法:これは、すべてが機能しているは、私は私のコントローラからジョブを派遣し、キャッシングのためのRedisを使用しています私のAPIでLaravel

class FormSubmissionsController extends Controller 
{ 
    /** 
    * @param StoreRequest $request 
    * @return \Illuminate\Http\JsonResponse 
    */ 
    public function store(StoreRequest $request, FormSubmission $formSubmission) 
    { 

     JobStore::dispatch($formSubmission, $request->get('tracking_code'), $request->get('form')); 

     return response()->json([ 
      'id' => $formSubmission->id 
     ]); 
    } 
} 

私のコントローラがどのように見えるかで、そして唯一の変更I を使用しました。dot envファイルにいくつかの設定値がありました。私の質問:

他のコントローラでは、Amazon SQSのサービスをキューに入れたジョブに使用したいと思っています。どのようにキューを設定すればよいですか?各ジョブを特定のキューハンドラにディスパッチする方法はありますか?

JobStore::dispatch()->onConnection('sqs'); 

は詳細についてはhttps://laravel.com/docs/5.5/queues#dispatching-jobsを参照してください:

+0

どのようなLaravelのバージョンですか?あなたはあなたが望むものに派遣するために "接続"を使うことができます。 「接続」を検索します。 – Kyslik

+0

Laravel 5.5 @kyslik –

答えて

1

あなたはOnConnectionに()方法で仕事をディスパッチするために使用されるべき接続を選ぶことができます。

+0

そのため、ディスパッチメソッドでonConnectionを指定しないと、デフォルトでredisで実行されますか? –

+0

接続を指定しないと、デフォルトの接続が使用されます。 –

関連する問題