Laravel 5.5中的工作优化

3

我在supervisor中有以下代码,不断轮询jobs表:

program:laravel-queue-listener]
command=php /var/www/laravel/artisan queue:work --sleep=120 --tries=2 --daemon

问题:现在,每2分钟它都会去数据库检查待处理的作业...有没有办法按需处理队列?我的意思是,在执行下面的代码时...它可能会处理队列,之前先检查队列是否正在处理中...
框架中是否有这样的函数可以手动处理队列并检查队列当前是否正在轮询或处理任何作业?
$User->notify(new RegisterNotification($token, $User));
1个回答

0

我理解你的问题是关于如何在Laravel中按需处理队列。这里已经有一个详细的答案,但你要找的命令是:

php artisan queue:work --once

但是,如果你想要在事件发生时运行队列工作者,你仍然可以通过从代码中调用队列工作者来实现。例如:

public static function boot(){
    static creating($user){
        Artisan::call('queue:work --once');
    }
}

我该如何调用启动函数? - Pankaj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接