jh-admin/app/event/CronTimer.php

31 lines
1.0 KiB
PHP

<?php
namespace app\event;
use Workerman\Crontab\Crontab;
use app\model\system\Cron;
class CronTimer
{
public function handle()
{
if(!isset($_SERVER['HTTP_USER_AGENT'])){
$_SERVER['HTTP_USER_AGENT'] ='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36';
}
//自动写入文件方便检测是否启动定时任务命令
new Crontab('*/10 * * * * *', function () {
echo date('Y-m-d H:i:s') . "\n";
$cron_model = new \app\model\system\Cron();
echo $cron_model->execute();
file_put_contents(root_path() . 'runtime/.timer', time());
});
$cron = config('cron.cron');
if ($cron) {
foreach ($cron as $item) {
new Crontab($item['timer'], function () use ($item) {
echo $item['event'] . '--' . date('Y-m-d H:i:s') . "\n";
event($item['event'], []);
});
}
}
return success();
}
}