今天我们解密的是4.7版的计划任务功能。

前言:
计划任务:是帝国网站管理系统提供的一项使系统在您设定的时刻,自动执行某项任务的功能。

新建计划任务步骤:
1、编写计划任务脚本,并制作好后将脚本文件复制到帝国系统的e/tasks目录里;
2、增加计划任务记录;
3、完成。

举例说明:自动刷新自定义页面的计划任务
一、打开计划任务运行窗口
要使系统运行计划任务必须开着运行计划任务页面(e/admin/task.php)。
登陆后台->“系统设置”->“管理计划任务”,点击“运行计划任务页面”以打开计划任务运行窗口,如下图:
图1:管理计划任务


图2:运行计划任务页面


二、接着我们增加个自定义页面,供待会儿增加任务时使用:
1、因为我们例子中增加的自定义页面要加入php代码输出最后刷新页面的时间,所以我们要先开启模板支持程序代码,开启方法如下:
登陆后台->“系统设置”->“系统参数设置”->“信息设置”,将“模板支持程序代码”项设为开启,然后提交。如下图:


2、开启模板支持程序代码后,点击“模板管理”->“增加自定义页面”,进行自定义页面增加:
页面名称:计划任务测试
文件名:../../test.html
页面内容:
<strong><font color="#FF0000" size="5">
本自定义页面最后刷新时间为: <?=date("Y-m-d H:i:s")?>
</font></strong>



3、提交后,返回“管理自定义页面”:
图1:管理自定义页面


图2:点击“页面名称”预览页面为如下:


三、开始新建计划任务:
(-)、编写计划任务脚本
新建一个reuserpage_task.php文件,然后在文件里加入“刷新自定义页面”脚本代码,代码为如下:
<?php
if(!defined('InEmpireCMS'))
{
        exit();
}
$userpage_ids="1";        //设置要刷新的自定义页面ID列表,多个用半角逗号格开
$pagesql=$empire->query("select id,path,pagetext,title,pagetitle,pagekeywords,pagedescription from {$dbtbpre}enewspage where id in ($userpage_ids)");
while($userpager=$empire->fetch($pagesql))
{
        ReUserpage($userpager[id],$userpager[pagetext],$userpager[path],$userpager[title],$userpager[pagetitle],$userpager[pagekeywords],$userpager[pagedescription]);
}
?>

然后保存文件,并将reuserpage_task.php文件复制到帝国系统的e/tasks目录里。

说明:上面脚本代码中我们设定刷新自定义页面id=1的页面,依自己的情况修改上面的自定义页面ID列表。

(二)、增加计划任务记录
1、登陆后台->系统设置->“管理计划任务”->“增加计划任务”,进入如下界面:

任务名称:自动刷新自定义页面
执行脚本设为:reuserpage_task.php
说明:上面例子我把执行时间设为每个小时的59分钟时执行。

2、增加计划任务后,返回管理计划任务会看到我们刚才新建的计划任务,如下图:


3、等到59分时,我们看下计划任务运行窗口,就执行了我们刚才增加的计划任务,如下图:
图1:59分时的运行计划任务页面


图2:执行计划任务后,刚才新建的自定义页面内容


没错吧,系统已在59分时重新刷新自定义页面了。

四、注意事项及相关说明
注意事项:
1、要使系统运行计划任务必须开着运行计划任务页面(e/admin/task.php)。
2、计划任务脚本文件必须放到e/tasks目录。

计划任务设置说明:
1、如果选择指定的执行者,那么只有使用执行者帐号登陆才会运行计划任务。
2、计划任务执行时间可设定按每月几号、星期几、某一小时与哪些分钟执行。

五、至此,计划任务功能讲解完毕。

更多帝国网站管理系统V4.7解密请听下回分解。


附3个计划任务脚本例子:
-----------------------------------------------
reindex_task.php :自动刷新首页
reuserlist_task.php :自动刷新用户自定义列表
reuserpage_task.php :自动刷新自定义页面