首先 模板里 要有 {insert name='query_info'} 标签
insert_query_info 主要是 脚本执行时间 占用内存 和触发计划任务
code '<img src="api/cron.php?t=' . gmtime() . '" alt="" style="width:0px;height:0px;" />'
我们来到 api/cron.php?t=时间
check_method 检测任务是否开启 和时间比对 判断来路 是否要验证计划任务 等。。。。
get_cron_info 获取已经安装的计划任务 条件是 crons表 已经开启 下次执行时间到了
循环载入 获得配置参数 执行的任务脚本
'includes/modules/cron/xxx.php' 文件
执行后 更新下次执行时间 和 状态
xxx.php
if (!defined('IN_ECS'))
{
die('Hacking attempt');
}
$cron_lang = ROOT_PATH . 'languages/' .$GLOBALS['_CFG']['lang']. '/cron/xxx.php'; //语言文件
if (file_exists($cron_lang))
{
global $_LANG;
include_once($cron_lang);
}
/* 模块的基本信息 */
if (isset($set_modules) && $set_modules == TRUE)
{
$i = isset($modules) ? count($modules) : 0;
/* 代码 */
$modules[$i]['code'] = basename(__FILE__, '.php');
/* 描述对应的语言项 */
$modules[$i]['desc'] = 'xxx_desc';
/* 作者 */
$modules[$i]['author'] = 'ms';
/* 网址 */
$modules[$i]['website'] = 'http://www.15780.cn';
/* 版本号 */
$modules[$i]['version'] = '1.0.0';
/* 配置信息 */
$modules[$i]['config'] = array(
array('name' => 'xxx_count', 'type' => 'select', 'value' => '5'),
);
return;
}
//代码
file_put_contents(ROOT_PATH.'123.txt','--^_^-');
字段 | 类型 | Null/默认 | 注释 |
---|---|---|---|
cron_id | tinyint(3) | 否 | 自增ID号 |
cron_code | varchar(20) | 否 | 该插件文件在相应路径下的不包括''.php''部分的文件名,运行该插件将通过该字段的值寻找将运行的文件 |
cron_name | varchar(120) | 否 | 计划任务的名称 |
cron_desc | text | 是 | 计划人物的描述 |
cron_order | tinyint(3) | 否 | 应该是用了设置计划任务执行的顺序的,即当同时触发2个任务时先执行哪一个,如果一样应该是id在前的先执行暂不确定 |
cron_config | text | 否 | 对每次处理的数据的数量的值,类型,名称序列化;比如删几天的日志,每次执行几个商品或文章的处理 |
thistime | int(10) | 否 | 该计划任务上次被执行的时间 |
nextime | int(10) | 否 | 该计划任务下次被执行的时间 |
day | tinyint(2) | 否 | 如果该字段有值,则计划任务将在每月的这一天执行该计划人物 |
week | varchar(1) | 否 | 如果该字段有值,则计划任务将在每周的这一天执行该计划人物 |
hour | varchar(2) | 否 | 如果该字段有值,则该计划任务将在每天的这个小时段执行该计划任务 |
minute | varchar(255) | 否 | 如果该字段有值,则该计划任务将在每小时的这个分钟段执行该计划任务,该字段的值可以多个,用空格间隔 |
enable | tinyint(1) | 否 | 该计划任务是否开启;0,关闭;1,开启 |
run_once | tinyint(1) | 否 | 执行后是否关闭,这个关闭的意思还得再研究下 |
allow_ip | varchar(100) | 否 | 允许运行该计划人物的服务器ip |
alow_files | varchar(255) | 否 | 运行触发该计划人物的文件列表可多个值,为空代表所有许可的 |
语言文件的配置
language\zh-cn\cron\xxx.php
global $_LANG;
$_LANG['xxx'] = '标题';
$_LANG['xxx_desc'] = '内容介绍';
$_LANG['xxx_count'] = '某个选项';
$_LANG['xxx_count_range']['7'] = '7'; //选项介绍和值
$_LANG['xxx_count_range']['10'] = '10';
$_LANG['xxx_count_range']['15'] = '15';