我有上的Linux计划
下面是Kernel.php文件中的方法。
protected function schedule(Schedule $schedule)
{
$schedule->command('queue:listen')->everyFiveMinutes()->withoutOverlapping();
}我已经共享了Godaddy的托管帐户,并使用cron作业作为Laravel队列。我不能使用Supervisor队列,因为它们不允许对我的计划进行SSH根访问。下面是截图。我关心CPU的使用和进程的数量。

我的代码使用队列发送电子邮件进行注册。就这样。没有其他事情是使用队列。对于php artisan命令,Cron作业每30分钟后运行一次。在第一次运行之后,time.it显示了上面的统计数据。
我做错什么了吗?
4-5小时后,它消耗了100%的CPU。
发布于 2017-06-26 13:43:42
这是错误的。您应该从不通过cron调度程序调用queue:listen,否则您将得到意外的行为,就像您所发生的事情一样。在本例中,听起来您正在生成多个队列侦听器。
您应该将queue:listen配置为永远作为守护进程运行。如果您无法通过GoDaddy访问主管,请切换到真正的服务器提供程序,如DigitalOcean或Linode --并使用它。
发布于 2017-04-12 06:18:50
我把这个要点放了一段时间(看一下叉子信息,看看原来的作品)来解决同样的问题。除了能够运行exec()之外,它不需要太多,还需要定期重新启动队列,这是特定项目所需要的,但实际上并不是一般的需求。
https://gist.github.com/muihlinn/bcb17fc0b6425bcb6f26ac907bc91c10
备注:由于某种原因,的队列: restart命令没有重新启动队列,只是终止了队列,因此代码中的两个调用都被终止了。
发布于 2017-06-28 06:25:32
正如劳伦斯所写的,队列:倾听不能每5分钟启动一次,因为它一直在运行,永远是后台。
尝试一下这个要点,它可能有助于解决您的问题,而不需要切换主机提供商:
https://gist.github.com/sea-reel/3550cfe44c15d8f8878b34adf5814b15 (Laravel 5 Artisan处理整个队列和出口命令)
因此,在gist中添加命令之后,您的日程安排应该如下所示:
protected function schedule(Schedule $schedule)
{
$schedule->command('work-and-exit')->everyFiveMinutes()->withoutOverlapping();
}https://stackoverflow.com/questions/43300790
复制相似问题