php如何设置定时任务,每5分钟立即取消订单

2024年03月29日 建站教程

php语法做一个定时任务,每5分钟立即取消订单​,下面web建站小编给大家简单介绍一下具体实现代码!

1、打开终端并输入以下命令​:​

crontab -e

*/5* * * * php /path/to/cancel_order_event.php

2、编写cancel_order_event.php

<?php
// 连接数据库
$conn = new mysqli("localhost", "username", "password", "database");
 
// 检查连接
if ($conn->connect_error) {
  die("连接失败: " . $conn->connect_error);
}
 
// 获取需要取消的订单
$query = "SELECT * FROM orders WHERE status = 'pending' AND date < NOW() - INTERVAL 5 MINUTE";
$result = $conn->query($query);
 
if ($result->num_rows > 0) {
  // 取消订单
  while ($row = $result->fetch_assoc()) {
    $order_id = $row['id'];
    // 执行任务
    $update_query = "UPDATE orders SET status = 'cancelled' WHERE id = $order_id";
    $conn->query($update_query);
    echo "订单 $order_id 已取消
";
  }
} else {
  echo "没有需要取消的订单
";
}
 
$conn->close();
?>

3、执行代码:

php /path/to/cancel_order_event.php

本文链接:http://so.lmcjl.com/news/612/

展开阅读全文