laravel 任务队列

官方文档写得挺好的,不过还是写下自己的理解,省得翻老代码还骂这啥代码,谁写的?

先不管这个文件长啥样,大概了解下原理
laravel 使用 ./artisan queue:work 来作为守护进程执行分发的任务
因为这条命令是由php来执行的,所以在php.ini中有最大执行时间,到了这个时间,不管执行的如何,它都会挂掉
即使最大执行时间足够大,但也可能因为一些不可控因素挂掉。。。
所以要配置supervisor来让它挂掉后重新起来。
把分发任务放到控制器中,然后写路由,然后编辑crontab
如果是web路由,就定期访问访问那个页面分发任务
如果是console路由,就定期执行那个命令
如果由用户控制,或基于事件,比如下面这个,用户提交链接,然后把任务加入队列
现在来写控制器

来设想一个场景,用户提交一个待抓取页面,然后用户就可以去忙别的,或者继续提交。否则,用户只能等上面这个流程走完之后才能提交下一个。这是多么浪费生命的事情?
再来看看这个任务文件

supervisor的配置安装如果有问题,就去看官方的readthedoc文档,看文档去填坑吧。。

发布者

gt

QQ: 1520667045 一个名叫坏人的博客,他很想成为WEB攻城狮,因为他认为每个前端开发者的审美观都是很挑的……

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据