我正在排队一个命令(通过另一个命令),如果由 queue:work 处理,执行大约需要 1 分钟,但如果通过 artisan horizon 运行,只需要大约 15 秒。我已经验证并且代码得到正确执行 - 这个排队的命令将数据从文件加载到数据库中,并且我已经确认在这两种情况下都正确加载了数据。
$ php artisan integ:load ctlem
Job for files C_afi1411T.txt e C_afi1411V.txt created.
$ php artisan queue:work --queue=data_load --tries=3 --timeout=0
[2019-11-20 09:49:18][1] Processing: Illuminate\Foundation\Console\QueuedCommand
[2019-11-20 09:50:16][1] Processed: Illuminate\Foundation\Console\QueuedCommand
^C
$ php artisan integ:load ctlem
Job for files C_afi1411T.txt e C_afi1411V.txt created.
$ php artisan horizon
Horizon started successfully.
[2019-11-20 09:51:10][2] Processing: Illuminate\Foundation\Console\QueuedCommand
[2019-11-20 09:51:25][2] Processed: Illuminate\Foundation\Console\QueuedCommand
^CShutting down...
$
我还记录了调用队列命令本身内部的“重”函数之前和之后的时间,并且日志确认了时间,即它与任何设置和拆卸活动无关。
如果需要,很高兴提供更多详细信息。任何想法为什么会有这种差异?