当前位置: 首页 > article >正文

laravel延迟队列 取消未支付超时订单订单

1:生成待支付订单时,调用延迟队列

超过十五分钟未支付自动取消

use App\Jobs\endTask;
use Illuminate\Support\Carbon;

$resPost1 = array("act" => "cy_order_cancel", "id" => $id);

endTask::dispatch($resPost1)->delay(Carbon::now()->addMinutes(15));

2:延迟队列生效,检测订单状态,依旧未支付改为取消

endTask.php

public function handle()

{

        $act = $this->post['act'];

        switch ($act){

                case "order_cancel"://订单超时取消

                        Order::cancel($this->post);

                        break;

                default:

                        break;

        }

}

订单取消方法:

public static function cancel($post){

        if(isset($post['id'])){

                //拿到定时时的订单号处理具体业务逻辑

        }

}

任务队列需要重启***写入新的逻辑

ps:消息队列处理可以echo  输出或写入日志文件但不要打断  如die  或框架语言 error方法等会导致消息队列崩溃停止


http://www.kler.cn/a/322823.html

相关文章:

  • 【windows】校园网AP隔离解决方案笔记-解决校内设备之间无法互相通信的臭毛病-附破解程序
  • SystemVerilog学习笔记(十一):接口
  • 红外遥控信号解码
  • stdin文件流指针
  • 云原生之运维监控实践-使用Telegraf、Prometheus与Grafana实现对InfluxDB服务的监测
  • 【Linux内核剖析】深入分析inet_init的处理机制
  • 堆排序,TopK问题|向上调整建堆|向下调整建堆(C)
  • Kafka系列之:安装使用kafka_exporter详细步骤
  • Agent智能体
  • 常见错误1:访问指针类型
  • 【Java异常】(简简单单拿捏)
  • Python(六)-拆包,交换变量名,lambda
  • vue3中使用echarts折线图初始化只显示一条数据,其余折线根据用户点击进行显示
  • 【java】前端RSA加密后端解密
  • 外贸电商系统卷轴模式开发:技术深度解析与实践
  • 联宇集团:如何利用CRM实现客户管理精细化与业务流程高效协同
  • 解决element树形结构切换节点,form表单缓存问题
  • 如何解决跨域请求中的 CORS 错误
  • 前端大模型入门:使用Transformers.js实现纯网页版RAG(一)
  • mobaxterm、vscode通过跳板机连接服务器
  • cocosCreator 2.x 原生平台不息屏
  • 3D 模型GLTF、GLB格式文件介绍使用;FBX格式
  • 【单调栈】单调栈基础及经典案例
  • 【计算机网络 - 基础问题】每日 3 题(十九)
  • echarts地图下钻的 两种方法
  • Text-to-SQL方法研究