php 设备档期管理模块,【定时/计划任务】模块发布

2024-02-24 09:59

本文主要是介绍php 设备档期管理模块,【定时/计划任务】模块发布,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介:

此模块可以在网站系统的后台管理定时任务,让系统自动的定时的执行SQL,Shell或者请求指定的URL。

任务计划使用与 linux 一致的的 cron 表达式进行配置,所以非常灵活。例如:0 23 ? * MON-FRI 这样配置就可以设置任务在 每周一至周五晚上11点30分执行计划任务。至于  cron 表达式请自行百度查询!

模块大量抄袭了 FastAdmin 的设计,但 FastAdmin 不能后台查看任务的执行结果,只能在服务器上查看日志文件,而且日志记录还不完整。不过我们还是要感谢FastAdmin作者!

FastAdmin项目地址: git.oschina.net/karson/fastadmin

应用场景举例:

定时执行SQL,比如定时清理某些日志表;

定时访问某个本地路径或者远程的URL,让其做某些工作;

定时执行Shell命令,比如定时更新网站搜索引擎的索引。

安装流程:

1. 安装这两个依赖包composer require mtdowling/cron-expression

composer require guzzlehttp/guzzle

说明:

mtdowling/cron-expression 是用来解析、计算 cron 表达式的关键组件;

guzzlehttp/guzzle 用来请求远程 url 的。

2. 安装模块

把模块包解压后放到 application 目录,然后进系统后台安装本模块。

3. 把系统入口文件 index.php 改为下面代码

DolphinPHP V1.0.8 版本使用下面代码// 定义应用目录

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();

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();

说明:

把相对路径改成绝对路径的目的是为了使定时任务可以在命令行下的任意位置执行;

cli模式下必须关闭系统的路由功能,否则 ThinkPHP 在检查路由的时候会报错,这貌似是 ThinkPHP 的BUG;

4. 开启PHP的 shell_exec() 函数

打开 php.ini ,在里面搜索 disable_functions ,然后把等号后面的 shell_exec 删掉

执行 /etc/init.d/httpd restart 重启 Apache ,如果是 Nginx 的话执行 /etc/init.d/php-fpm restart 重启 PHP

5. 添加一个Linux上的crontab定时任务

执行 crontab -e ,在里面添加一条定时任务,让服务器每1分钟访问一次我们的任务执行接口* * * * * /usr/bin/php /你网站的完整根路径(绝对路径)/index.php /crontab/autotask(1、注意空格;2、注意 DolphinPHP V1.1.0 以上版本入口文件是在 public 目录)

6. 到网站后台添加任务即可

截图:

5aa8a54425ff198de4144aa772ac94d0.png

任务列表

fd34e162608741d35391a10050f90508.png

请求本地路径配置

66015b723d6a59402df1a273ca7c81cb.png

配置定时执行SQL

63215e56eabcfa416fcec8c2466b2519.png

请求远程URL,这里故意把url写错,用来测试请求失败的效果

1a2738aec2ec45fd772b191cc26601c4.png

执行的任务日志列表

fb354503660c7cadf39d9d0c9e629e61.png

可以看到,上面请求远程URL的任务内容配置错了,这里执行失败后便记录下了错误内容

618ff633ed9ebc7066597d8048af677f.png

执行Shell命令后记录返回的结果

模块包:

适用于 DolphinPHP V1.0.8

从 DolphinPHP 1.0.8 升级到 1.1.0

1、升级时如果用升级包里的 vendor 替换了原系统的 vendor,请检查模块需要的那两个依赖包是否存在,如果被替换或删除了,请重新安装;

2、升级后如果覆盖了 index.php 入口文件,请照文中方法修改;

3、重新下载文中适用于 DolphinPHP V1.1.0 以上版本的模块包进行覆盖(实际上是需要覆盖 /crontab/view/admin/index/add.html 文件和 /crontab/home/Autotask.php 即可)

4、执行 crontab -e 命令,修改 Linux 定时任务中网站系统入口文件的绝对路径,因为 1.1.0 把入口调整到了 public 目录,这里也需要在 index.php 前面加上 public

更新日志:

2018-02-21:

1. 修复升级到 Dolphinphp v1.1.0 后本地 URL 任务执行错误问题;

2018-01-24:

1. 修改模板文件以支持 DolphinPHP V1.1.0 以上版本;

2. 上文中的安装说明新增 DolphinPHP V1.1.0 以上版本注意事项;

2017-10-27:

1. 支持 DolphinPHP V1.0.8(V1.0.8以下版本需要删除表格构建器的raw()方法,V1.0.7系统有BUG,所以不支持);

2. 把 rmccue/requests 组件换成 guzzlehttp/guzzle;

2017-07-15:

1. 更换掉后台任务管理模板的那种蛋疼的写法;

2. 修改任务执行接口上的一个小bug;

注意:

不支持windows环境

这篇关于php 设备档期管理模块,【定时/计划任务】模块发布的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/741751

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

如何编写Linux PCIe设备驱动器 之二

如何编写Linux PCIe设备驱动器 之二 功能(capability)集功能(capability)APIs通过pci_bus_read_config完成功能存取功能APIs参数pos常量值PCI功能结构 PCI功能IDMSI功能电源功率管理功能 功能(capability)集 功能(capability)APIs int pcie_capability_read_wo