Laravel 数据库队列倒序执行

要实现的结果

laravel数据库队列倒序执行
laravel是101810 101811 101812 ....101819这样执行的
如果我们想要他101819 101817 101816 101815 这样倒序执行

看下源码

文件路径:
namespace Illuminate\Queue;
Class DatabaseQueue

protected function getNextAvailableJob($queue)\
{
  $job = $this->database->table($this->table)\
 ->lockForUpdate()\ ->where('queue', $this->getQueue($queue))\
 ->where(function ($query) {
  $this->isAvailable($query);
  $this->isReservedButExpired($query);
 }) ->orderBy('id', 'asc')
 ->first();
}
这是laravel获取下一个队列的方法
我们可以直接把asc改成desc

效果图

laravel数据库队列倒序执行

laravel数据库队列倒序执行

我遇到的

因为采集小说10w本  每本都是一个队列(采集章节  平均300章)
1本(300章)要30秒     
24小时采集10w*300 /30/ 86400都要11天了  (我估计要15天)
所以本地从队列从1 2 3 4 5 6开始执行
服务器就从10w 10w-1 10w-2  倒序执行
最后合并章节
本作品采用《CC 协议》,转载必须注明作者和本文链接
专心学习不瞎搞
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
89
粉丝
108
喜欢
481
收藏
724
排名:108
访问:8.8 万
私信
所有博文
社区赞助商