2014-06-29 9 views
10

Gibt es eine Methode für die Queue-Klasse, die eine bestimmte Verbindung angeben kann, wie in der Warteschlangenkonfiguration definiert? Es gibt eine ähnliche Option für MySql, wo Sie definieren ‚mysql2‘, und rufen Sie dann:Laravel und Multiple SQS (Warteschlange) configs

DB::connection('mysql2')->table('etc')->get(); 

Gibt es eine ähnliche Option für Warteschlangen?

Etwas wie:

Queue::connection('sqs2')->push('MyQueue', array('message' => $message)); 

Antwort

14

Offenbar antwortete ich über meine eigene Frage, ohne es zu merken. Sie können mehrere Warteschlangen verwenden und mit einer Verbindungsmethode angeben, an welche Nachricht Sie die Nachricht senden möchten.

Hier ist, was meine Teil-Config wie für jemand sieht, der interessiert ist:

'default' => 'sqs', 

    'connections' => array(

    'sync' => array(
     'driver' => 'sync', 
    ), 

    'beanstalkd' => array(
     'driver' => 'beanstalkd', 
     'host' => 'localhost', 
     'queue' => 'default', 
    ), 

    'sqs' => array(
     'driver' => 'sqs', 
     'key' => 'xxxxxxxxxxxx', 
     'secret' => 'yyyyyyyyyyyyyy', 
     'queue' => 'https://sqs.us-west-2.amazonaws.com/zzzzzzzzz', 
     'region' => 'us-west-2', 
    ), 

    'sqs2' => array(
     'driver' => 'sqs', 
     'key' => 'uuuuuuuuuuuuu', 
     'secret' => 'vvvvvvvvvvvvvvvv', 
     'queue' => 'https://sqs.us-west-2.amazonaws.com/wwwwwwwwwww', 
     'region' => 'us-west-2', 
    ), 
+6

Um die Dinge klar zu machen, ich, dass in diesem Fall hinzufügen, müssen Sie Hörer als 'php Handwerker Warteschlange beginnen müssen: Arbeit sqs2', nicht' php artisan warteschlange: work --queue = sqs2'. Es hat etwas gedauert, bis ich es begriffen habe. –

Verwandte Themen