首页
开发文档
应用商店
商业授权
免费下载
捐赠列表
后台演示
登录
|
注册
计划任务
类别:
模块
分类:
系统增强
作者:
美食秀
适用版本:
未知版本
最近更新:
2018-02-21 21:21
首次发布:
2018-02-21 21:21
浏览次数:
21283
价格
免费
投票数:
6
总评分:
3.7
当前打分:
立即购买
添加收藏
(
16
)
应用简介
下载列表(1)
评论列表(3)
### 简介: 此模块可以在网站系统的后台管理定时任务,让系统自动的定时的执行SQL,Shell或者请求指定的URL。 任务计划使用与 linux 一致的的 cron 表达式进行配置,所以非常灵活。例如:**0 23 ? * MON-FRI** 这样配置就可以设置任务在 **每周一至周五晚上11点30分** 执行计划任务。至于 cron 表达式请自行百度查询! 模块大量抄袭了 FastAdmin 的设计,但 FastAdmin 不能后台查看任务的执行结果,只能在服务器上查看日志文件,而且日志记录还不完整。不过我们还是要感谢FastAdmin作者! FastAdmin项目地址: git.oschina.net/karson/fastadmin ### 应用场景举例: 1. 定时执行SQL,比如定时清理某些日志表; 2. 定时访问某个本地路径或者远程的URL,让其做某些工作; 3. 定时执行Shell命令,比如定时更新网站搜索引擎的索引。 ### 安装流程: ##### 一、 安装这两个依赖包 ~~~ composer require mtdowling/cron-expression composer require guzzlehttp/guzzle ~~~ 说明: mtdowling/cron-expression 是用来解析、计算 cron 表达式的关键组件; guzzlehttp/guzzle 用来请求远程 url 的。 ##### 二、 安装模块 把模块包解压后放到 application 目录,然后进系统后台安装本模块。 ##### 三、 把系统入口文件 index.php 改为下面代码 DolphinPHP V1.1.0 以上版本使用下面代码 ~~~ // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 定义后台入口文件 define('ADMIN_FILE', 'admin.php'); // 检查是否安装 if(!is_file(__DIR__ . '/../data/install.lock')){ define('BIND_MODULE', 'install'); } // 加载框架基础文件 require __DIR__ . '/../thinkphp/base.php'; // cli 模式关闭路由 if (PHP_SAPI == 'cli'){ \think\App::route(false); } // 执行应用 \think\App::run()->send(); ~~~ 说明: 1. 把相对路径改成绝对路径的目的是为了使定时任务可以在命令行下的任意位置执行; 2. cli模式下必须关闭系统的路由功能,否则 ThinkPHP 在检查路由的时候会报错,这貌似是 ThinkPHP 的BUG; ##### 四、 开启PHP的 shell_exec() 函数 1. 打开 php.ini ,在里面搜索 disable_functions ,然后把等号后面的 shell_exec 删掉 2. 执行 /etc/init.d/httpd restart 重启 Apache ,如果是 Nginx 的话执行 /etc/init.d/php-fpm restart 重启 PHP ##### 五、 添加一个Linux上的crontab定时任务 执行 crontab -e ,在里面添加一条定时任务,让服务器每1分钟访问一次我们的任务执行接口 `* * * * * /usr/bin/php /你网站的完整根路径(绝对路径)/index.php /crontab/autotask` (1、注意空格;2、注意 DolphinPHP V1.1.0 以上版本入口文件是在 public 目录) ##### 六、 到网站后台添加任务即可 ### 截图: [![QQ截图20170714082128.png](http://bbs.dolphinphp.com/uploads/article/20170714/4cc9b4a3cb4c04c8dd7cb836975379de.png "QQ截图20170714082128.png")](http://bbs.dolphinphp.com/uploads/article/20170714/4cc9b4a3cb4c04c8dd7cb836975379de.png) 任务列表 [![QQ截图20170714082222.png](http://bbs.dolphinphp.com/uploads/article/20170714/d70df315b4f3e4a6f14d9ffe28ed67eb.png "QQ截图20170714082222.png")](http://bbs.dolphinphp.com/uploads/article/20170714/d70df315b4f3e4a6f14d9ffe28ed67eb.png) 请求本地路径配置 [![QQ截图20170714082359.png](http://bbs.dolphinphp.com/uploads/article/20170714/143fc7965b2f0484d12cdc460bcabfeb.png "QQ截图20170714082359.png")](http://bbs.dolphinphp.com/uploads/article/20170714/143fc7965b2f0484d12cdc460bcabfeb.png) 配置定时执行SQL [![QQ截图20170714082450.png](http://bbs.dolphinphp.com/uploads/article/20170714/f0c14ed700f0cd2296b995464bc9a4ab.png "QQ截图20170714082450.png")](http://bbs.dolphinphp.com/uploads/article/20170714/f0c14ed700f0cd2296b995464bc9a4ab.png) 请求远程URL,这里故意把url写错,用来测试请求失败的效果 [![QQ截图20170714082525.png](http://bbs.dolphinphp.com/uploads/article/20170714/2959f5f9d5927ed73eb7e23566071dfe.png "QQ截图20170714082525.png")](http://bbs.dolphinphp.com/uploads/article/20170714/2959f5f9d5927ed73eb7e23566071dfe.png) 执行的任务日志列表 [![QQ截图20170714082608.png](http://bbs.dolphinphp.com/uploads/article/20170714/8f33cb91c29da2a3205539b95b4b24fe.png "QQ截图20170714082608.png")](http://bbs.dolphinphp.com/uploads/article/20170714/8f33cb91c29da2a3205539b95b4b24fe.png) 可以看到,上面请求远程URL的任务内容配置错了,这里执行失败后便记录下了错误内容 [![QQ截图20170714082633.png](http://bbs.dolphinphp.com/uploads/article/20170714/ec54c242c2066a650ba4483964bde04b.png "QQ截图20170714082633.png")](http://bbs.dolphinphp.com/uploads/article/20170714/ec54c242c2066a650ba4483964bde04b.png) 执行Shell命令后记录返回的结果 ### 适配 DolphinPHP v1.0.8 的模块下载地址: [http://bbs.dolphinphp.com/?/article/42](http://bbs.dolphinphp.com/?/article/42 "http://bbs.dolphinphp.com/?/article/42")
6年前
V1.0.0
暂无版本说明
点击下载 V1.0.0
songwei
怎么用不了
赞同(
0
)
-
回复
-
3年前
w4761671
不是写的免费吗,为什么不能下载?!!
赞同(
0
)
-
回复
-
5年前
hydlovewl
这个是只能是linux的服务器才能用吗
赞同(
3
)
-
回复
-
6年前
评论
取消回复
验证码
提交
其他应用
两步验证