2016-10-30 3 views
1

Gibt es eine Möglichkeit, den Job in der Warteschlange aus der Job-ID in Laravel zu erhalten? Beim Hinzufügen des Jobs zur Warteschlange speichere ich die Job-ID. Zu einem späteren Zeitpunkt (Verzögerung beim Verarbeiten des Jobs in der Warteschlange) möchte ich den Job aus der Warteschlange entfernen. Wenn ich den Job mithilfe der Job-ID in der Warteschlange abrufen kann, kann ich ihn mit der Methode entfernen.Wie bekomme ich den Job in der Warteschlange von der Job-ID in Laravel?

Antwort

0

Es ist eine Warteschlange, so dass Sie sie nicht auswählen können. Wenn Sie die Daten jedoch auch außerhalb der Warteschlange protokollieren, können Sie in der Warteschlange :: before() {} AppServiceProvider.php nachsehen, um die gespeicherte ID zu überprüfen Referenz auf die Jobs, wie sie aus der Warteschlange kommen und bevor sie verarbeitet werden.

Ich arbeite auch an diesem Bereich, wenn ich den Code dafür herausfinden, und werde es wenn ich tue. Da du hier in der before() ein Ereignis bekommst, musst du es auspacken und den Job zur Untersuchung bringen.

2

Ich benutze diesen Code für Laravel 5.5:

use Illuminate\Contracts\Bus\Dispatcher; 

$job = (new JOB_CLASS())->onQueue('QUEUE_NAME')->delay('DELAY'); 
$id = app(Dispatcher::class)->dispatch($job); 
+0

Ist dies der einzige Weg, Kumpel? –

+1

@SantoshAchari Nun, ehrlich gesagt konnte ich keine andere Lösung finden und ich denke, das ist der einfachste Weg, es zu tun. – Armin

Verwandte Themen