2017-09-25 3 views
0

Ich arbeite an einer Funktion, wo ich den Job-Status in Beanstalkd-Warteschlangen überprüfen muss. Ich habe ein paar Dinge ausprobiert, aber ich bin nicht die Arbeitsplätze erhalten, die für Warteschlangen anders als der Standard reserviert sind WarteschlangeWie bekomme ich Job-Daten von reservierten Jobs in Laravel mithilfe von Pheanstalk?

$pheanstalk = \Illuminate\Support\Facades\Queue::getPheanstalk(); 
$pheanstalk->useTube('import-live'); 
$pheanstalk->watch('import-live'); 
while ($job = $pheanstalk->reserve(0)) { 
    var_dump(json_decode($job->getData(), true)); 
} 

Dies ist, was ich versucht habe. Aber ich bekomme immer noch die Daten für die Standardwarteschlange. Hat jemand eine Idee, wie man auch die Daten für die Import-Live-Queue bekommt? Oder irgendwelche anderen Warteschlangen, die ich in meinem System ausgeführt habe. Grundsätzlich möchte ich die Daten über alle Warteschlangen im System erhalten.

Antwort

0

Zuerst - stellen Sie sicher, dass es Jobs in den anderen Warteschlangen gibt.

Wenn Sie dann keine Jobs aus der 'Standardwarteschlange' für einen bestimmten Lauf abrufen möchten, können Sie sie ignorieren.

$job = $pheanstalk 
    ->watch('import-live') 
    ->watch('import-other') 
    ->ignore('default') 
    ->reserve(); 

->useTube('..') wird nur verwendet, wenn put() Nachrichten in eine Warteschlange -Ing.

Verwandte Themen