2016-11-10 5 views
1

Für einen Cron-Job verwende ich folgenden Code in Laravel 5.1 und führe den Befehl alle 1 Minute aus. Aber auch nach dem Beenden von Cronjob von Crontab wird der Laravel-Code noch ausgeführt. ?Wie kann man die Laravel-Queue beenden: listen - queue = notification?

$this->call('queue:listen', [ 
    '--queue' => 'notification-emails','--timeout'=>'30' 
]); 

Was könnte das Problem sein? Wie kann ich diese Warteschlange anhalten?

Antwort

0

Sie suchen wahrscheinlich nach , die stoppt, wenn keine Jobs mehr übrig sind, während queue:listen persistent bleibt.

Wenn Sie den bestehenden Prozess beenden möchten - Sie müssen es manuell tun, weil es in Laravel keinen Befehl gibt, alle Warteschlangen abzubrechen: Prozesse abhören. Denken Sie daran, dass Sie keinen Prozess wie finden werden, Sie müssen nach artisan schedule:run suchen, da queue:listen, wenn intern aufgerufen, keinen separaten Prozess erstellen wird.

+0

Danke. Aber wie kann ich schon run queue beenden: listen --queue = notification-email manuell? –

+0

@KabindraSimkhada Sie müssen es manuell tun. Geben Sie zuerst 'ps aux | grep artisan "in der Konsole Ihres Systems suchen, dann nach der passenden Prozess-ID suchen und" kill -9 ID "eingeben. Diese ID wird in der zweiten Spalte von 'ps aux' ausgegeben. –

Verwandte Themen