Laravel 实现异步的原理是什么?比如队列的操作?

laravel实现异步的原理是什么?比如队列的操作?多线程吗?不明白啊,求大牛解答一下

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 10
野犭

/vendor/laravel/framework/src/Illuminate/Queue/Worker.php 中,如下图
file
这里有个死循环,所以
应该是通过 PHP CLI 执行此脚本来常住内存了
如此这般模拟(实现)了多进程

5年前 评论

请问你现在解决这个问题了么

5年前 评论

@pikalu 你好,我用的job->dispatchNow() 但是我发现还是 等 job里边的逻辑完成了才走下一步,请问具体要怎么配置啊 env 的 QUEUE_CONNECTION QUEUE_DRIVER 都设置成了database了

5年前 评论

你现在搞明白了吗?分享一下吧。

5年前 评论
ruke

异步, 字面意思
为了平衡快速业务和慢速业务之间的效率

说一个简单的应用场景

a程序速度特别快, 但是b很慢, 刚好 ab需要协作摘西瓜,
a负责摘西瓜, b负责从a手中将西瓜搬到车上

a速度很快呀, 但是每次摘了一个都得等b过来接西瓜才能在去摘下一个, 这样效率就变得慢了, b也没办法呀

为了提高效率, 老板在地上放了一个筐子, a摘完西瓜就放到筐子里了, 而b呢就只需要从筐子里搬到车上, 但是一个人搬慢呀, 老板又请了一个人来搬西瓜(b1)

这大概就是异步的意思, 至于为啥用队列, 保持有序防止重复, 就是排好队,别让后面的插空子

5年前 评论

@野犭 并不是,fork 了解一下。

5年前 评论
野犭

@Wi1dcard 兄台可否细说一下

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!