2016-11-10 44 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”输出的第二列中。 –