我正在尝试使用laravel schedule
来处理激活电子邮件队列我知道我应该使用主管来管理工作人员,
我使用“crontab -e”为日程安排添加了cronjob,并且它每分钟都在运行。
* * * * * /usr/local/bin/php-5.6 [project dir]/artisan schedule:run > '/dev/null' 2>&1
在app / console / kernal.php的计划功能中,我添加了
$schedule->command('queue:work --queue=activation-email --timeout=30 --once')->withoutOverlapping()->everyMinute();
它正在运行,但它没有用,因为它每分钟只能处理一个邮件,我希望它每分钟运行一次,每分钟处理至少20-30封电子邮件...... < / p>
用户不得等待1分钟以上的激活电子邮件,如果多个用户在同一时间段内注册,则用户将等待太长时间!女巫非常糟糕......
所以相反 - 它需要运行 - 最多可以完成10个工作并且每分钟都死掉。
如何在不运行守护进程的情况下执行队列 背景一直在吗?
我在网上搜了几个小时,找不到解决方案......
感谢分配,
感谢您的帮助!!
编辑:
我试过这样做:
for ($x = 1; $x <= 10; $x++) {
$schedule->command('queue:work --queue=activation-email --timeout=30 --once')->withoutOverlapping();
}
但它感觉太错了......打开10个deamons evey分钟,而不是一个人做10个工作......但我工作得很好(而且速度很快),但我的猜测它正在杀死CPU ......对此更好的解决方案?谢谢...