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

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.mrgr.cn/news/37979.html

相关文章:

  • LLM | Ollama WebUI 安装使用(pip 版)
  • 代码随想录算法训练营| 110.平衡二叉树、 257. 二叉树的所有路径 、404.左叶子之和、 222.完全二叉树的节点个数
  • selenium 显示等待12种预置条件包括定制等待条件
  • PMA TB40-1 限温器Temperature limiter TB 40-1 手测
  • LeetCode从入门到超凡(四)深入浅出理解贪心算法
  • 优化|基于深度学习的不动点算子优化的热启动方法
  • 【hot100-java】【柱状图中最大的矩形】
  • MindSearch 部署到Github Codespace 和 Hugging Face Space
  • 一文带你读懂分库分表,分片,Sharding的许多概念
  • Iterm2配置主题和Oh-My-Zsh
  • 【2米/8米光学卫星】
  • OMRON欧姆龙E5GN温控器手测
  • Rust 语言开发 ESP32C3 并在 Wokwi 电子模拟器上运行(esp-hal 非标准库、LCD1602、I2C)
  • Pandas常用数据总览,样本抽检函数
  • 【1米C-SAR卫星】
  • 《C++开源贡献:提升职业竞争力的新途径》
  • 论文阅读 | HiDDeN网络架构
  • Springboot综合练习
  • MySQL知识点复习 - 常用的日志类型
  • AI绘画相似风格的作品