<?php
//引入配置文件
require_once(dirname(__FILE__).'\config.php');
/**
* 检查传参
*/
$loop = isset($argv[4]) ? $argv[4] : 0;
define('APPLICATION_PATH_FILE', dirname(dirname(__FILE__)));
$logFile = APPLICATION_PATH_FILE . '/data/log/myCron';
if (file_exists($logFile)) {
//如果任务日志文件存在时间超过1小时则删除文件
if (time() - filemtime($logFile) > 3600) {
@unlink($flagFile);
}
}
//如果日志文件存在,程序已经运行.
if (file_exists($logFile)) {
echo "Is already running,please unlock!";
exit;
}
//加日志,创建日志文件,不同操作系统兼容
touch($logFile);
if (preg_match('/linux/i', PHP_OS) || preg_match('/Unix/i', PHP_OS)) {
chmod($flagFile, 0777);
}
define('STARTTIME', '['.date('Y-m-d H:i:s').']');
echo STARTTIME."Cron start!\n";
try {
echo 'run my PHP script!';
$open = popen('php '.__DIR__.'\myCron.php -a param1 param2 &','w');
$result[] = $open;
} catch (Exception $e) {
echo $e->getMessage();
}
define('ENDTIME', '['.date('Y-m-d H:i:s').']');
echo ENDTIME."Cron End!\n";
//解锁,删除日志文件
unlink($logFile);
此脚本支持文件记录计划任务运行情况,包括开始时间,结束时间,任务报错或者程序运行过程记录,还可传参,具体日志细节可根据个人需求做出调整。