讨论数量:
在 /vendor/laravel/framework/src/Illuminate/Queue/Worker.php
中,如下图
这里有个死循环,所以
应该是通过 PHP CLI
执行此脚本来常住内存了
如此这般模拟(实现)了多进程
@pikalu 你好,我用的job->dispatchNow() 但是我发现还是 等 job里边的逻辑完成了才走下一步,请问具体要怎么配置啊 env 的 QUEUE_CONNECTION QUEUE_DRIVER 都设置成了database了
异步, 字面意思
为了平衡快速业务和慢速业务之间的效率
说一个简单的应用场景
a
程序速度特别快, 但是b
很慢, 刚好 a
和b
需要协作摘西瓜,a
负责摘西瓜, b
负责从a
手中将西瓜搬到车上
a
速度很快呀, 但是每次摘了一个都得等b
过来接西瓜才能在去摘下一个, 这样效率就变得慢了, b
也没办法呀
为了提高效率, 老板在地上放了一个筐子, a
摘完西瓜就放到筐子里了, 而b
呢就只需要从筐子里搬到车上, 但是一个人搬慢呀, 老板又请了一个人来搬西瓜(b1
)
这大概就是异步的意思, 至于为啥用队列, 保持有序防止重复, 就是排好队,别让后面的插空子
推荐文章: