php 数据库倒序,Laravel数据库队列倒序怎么执行

Laravel数据库队列倒序的执行方法:首先查看文件路径“Illuminate\Queue”;然后找到代码“orderBy('id', 'asc')”;最后直接把参数“asc”改成“desc”即可。

f824613e0233828713812ea0ca3f7a9f.png

Laravel数据库队列倒序怎么执行?

Laravel 数据库队列倒序执行

要实现的结果

29c4bb1d25a134491de99143a3e19b83.png

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

效果图

3cb3beb08e68d986f5bf9fa4913bf048.png

f796a2f0dc498d3e46fa85648c969b94.png

我遇到的因为采集小说10w本 每本都是一个队列(采集章节 平均300章)

1本(300章)要30秒

24小时采集10w*300 /30/ 86400都要11天了 (我估计要15天)

所以本地从队列从1 2 3 4 5 6开始执行

服务器就从10w 10w-1 10w-2 倒序执行

最后合并章节

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值