定时任务如何通过web控制开关和设定时间

定时任务如何通过web控制开关和设定时间

黄威
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 5

用它shell_exec

3年前 评论

有一个扩展 GitHub搜一下 想不起来叫啥了

3年前 评论

packagist.org/packages/dragonmanta...

<?php
// 每一分钟执行一次本脚本
require_once '/vendor/autoload.php';

// 从数据库取出任务定时
// [ ['expression'=>'*/1 * * * *'], ['expression' =>'.....'], ['expression'=>'....'] ]
$data = $db->.....->get();
foreach ($data as $item) {
    $cron = new Cron\CronExpression($item['expression']);
    if ($cron->getNextRunDate()->format('Y-m-d H:i:s') == now()->format('Y-m-d H:i:s')) {
        exec('php xxx.php .... > /dev/null 2>&1 &');
    }
}
3年前 评论

通过数据库不是更好。定时任务每分钟都扫描所有定时任务,但执行过程可以由你自行控制,没有通过你的条件,就不往下执行即可

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!