2017-11-13 5 views
1

In meinem api ich Redis für das Caching versandt Aufträge von meinem Controller verwende: Dies ist, wie mein ControllerWie Jobs an verschiedene Queue-Anbieter Versand in 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 
     ]); 
    } 
} 

sieht All arbeitet, und die einzige Änderung, die ich tat zu verwenden redis war es einige Konfigurations-Vars in dot env Datei. Meine Frage:

In einem anderen Controller möchte ich einige der Amazon SQS Dienste für in die Warteschlange gestellte Jobs, eine Idee, wie die Warteschlange zu konfigurieren und wie soll ich jeden Auftrag an bestimmte Warteschlange Handler?

+0

Welche Laravel Version? Sie können "Verbindung" verwenden, um zu versenden, was auch immer Sie wollen. Öffnen Sie einfach die Dokumentation, die alles da ist. Suche nach "Verbindung". – Kyslik

+0

Laravel 5.5 @kyslik –

Antwort

1

können Sie eine Verbindung auswählen, die verwendet werden sollte, einen Job mit OnConnection() Methode Versandfertig:

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

Siehe https://laravel.com/docs/5.5/queues#dispatching-jobs für weitere Details.

+0

Also wenn ich onConnection auf Dispatch-Methode nicht angeben wird es auf Redis standardmäßig ausgeführt werden, richtig? –

+0

Wenn Sie die Verbindung nicht angeben, wird die Standardverbindung verwendet, ja. –

Verwandte Themen