Laravel 5.5 redis队列太慢了

时间:2017-10-10 21:16:54

标签: laravel-5 redis queue

我有调度电话:

dispatch(new ProcessVideo($video));
logger('After dispatch at ' . Carbon::now()->format('H:i:s.u'));

和工作:

public function handle() : void
{
    logger('ProcessVideo@handle at ' . Carbon::now()->format('H:i:s.u'));
}

在日志中,我们可以看到队列超过2.5秒的发送和处理之间的间隔

[2017-10-11 00:02:55] local.DEBUG: After dispatch at 00:02:55.423141  
[2017-10-11 00:02:58] local.DEBUG: ProcessVideo@handle at 00:02:58.071249

这可能是什么问题?它是我的本地机器,它只是一个被调度来测试功能的工作

1 个答案:

答案 0 :(得分:1)

我面临与您类似的问题。处理第一份工作大约需要2-3秒的时间。

四处搜寻之后,我发现了laravel队列工作者 default 3 second sleep

这意味着在较差的情况下,第一份工作会延迟3秒。

要解决此问题,只需在运行worker时指定--sleep = 0。希望对您有所帮助。

php artisan queue:worker --sleep=0