2016-11-10 43 views
1

對於cron作業,我在laravel 5.1中使用以下代碼並每隔1分鐘運行一次該命令。但即使從crontab停止cronjob,仍然執行laravel代碼。 ?如何殺死laravel隊列:listen --queue = notification?

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

可能是什麼問題?我怎樣才能阻止這個隊列傾聽?

回答

0

您可能在尋找queue:work,這將停止,當沒有更多的工作離開,同時queue:listen將持續。

如果您想殺死現有進程 - 您必須手動執行此操作,因爲laravel中沒有命令可以殺死所有隊列:偵聽進程。 請記住,您不會找到類似artisan queue:listen的進程,您必須查找artisan schedule:run,因爲queue:listen在內部調用時不會創建單獨的進程。

+0

謝謝。但是,我怎樣才能殺死已經運行的隊列:listen --queue = notification-emails manually? –

+0

@KabindraSimkhada你必須手動完成。先輸入'ps aux | grep artisan'在你的系統控制檯中,然後查找匹配的進程ID並鍵入'kill -9 ID'。該ID將出現在「ps aux」輸出的第二列中。 –