php定时任务管理,基于PHP的定时任务管理器 Zebra-Crontab
软件介绍
为什么使用PHP管理crontab
一般在定时任务较少的情况下,使用原生的crontab服务一般不会有什么问题,但当定时任务较多时就会产生如下问题:
文本形式的定时任务可读性很差,在没有任何注释的情况下,新人很难在不读源码的情况下了解定时任务的业务逻辑
在分布式的场景中,定时任务会散落到多台机器上,无法统一管理
定时任务的日志不能集中化管理,对定时任务的运行分析及故障排除比较麻烦
基于以上几点原因,我们迫切的需要一个可以集中化管理的、可配置的定时任务管理器 但自己开发一套分布式的定时任务系统何其复杂,所以作者采用crontab服务做辅助,使用php实现对定时任务的配置管理
使用php管理定时任务有哪些优势
定时任务可以不再是以文本方式的形式存在,可以存储在缓冲、数据库中,甚至你可以开发管理功能,在后台对定时任务进行编辑
定时任务的日志是可配置的,你可以按照业务需求,对日志进行差异化配置
使用方式如下:
编写一个任务管理器,可参考test/simple.php
将上述脚本添加到crontab中,一分钟执行一次
示例:
<?php $crontab_config = [ 'test_1' => [ 'name' => '服务监控1', 'cmd' => 'php -v', 'output' => '/tmp/test.log', 'time' => '* * * * *' ], 'single_test' => [ 'name' => 'php -i', 'cmd' => 'php -i', 'output' => '/tmp/single_script.log', 'time' => [ '* * * * *', '* * * * *', ], ], ]; $crontab_server = new \Jenner\Zebra\Crontab\Crontab($crontab_config); $crontab_server->start();
工具短小,但很精悍
在分布式场景中,你可以把定时任务写入数据库中进行统一管理,你可以设定哪些定时任务是由哪些机器执行, 然后通过生成文本文件的方式发送到所有机器上,再由这些机器上的phpCrontab读取处理;从而实现分布式场景下的定时任务统一管理。
为你推荐:
php定时任务管理,基于PHP的定时任务管理器 Zebra-Crontab相关推荐
- java定时任务管理_基于SpringBoot+layui秒级定时任务管理:JTimer for JAVA项目
一.JTimer for JAVA简介 1.项目介绍 JTimer for JAVA是基于SpringBoot+layui秒级定时任务管理,取代crontab.其PHP版本 https ://gite ...
- php定时任务管理,Zebra-Crontab
软件简介 为什么使用PHP管理crontab 一般在定时任务较少的情况下,使用原生的crontab服务一般不会有什么问题,但当定时任务较多时就会产生如下问题: 文本形式的定时任务可读性很差,在没有任何 ...
- django admin celery beat简单的定时任务管理平台
一直都在想写一个这样平台,前端比较low,所以就使用了Django 自带的后端写了一个定时任务管理平台 具体结构如下 djangotask/ ├── app01 │?? ├── admin.py │? ...
- python发微信提醒天气_基于Python实现定时自动给微信好友发送天气预报
效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.sche ...
- 支持Python3、JavaScript、Shell、TypeScript 的定时任务管理面板项目
今天要给大家分享的是一个支持Python3.JavaScript.Shell.TypeScript 的定时任务管理面板项目 有对定时任务感兴趣的小伙伴可以来瞅瞅,项目具备如下功能: 支持多种脚本语言( ...
- Flink实战—基于时间窗口定时输出sink
Flink时间窗口运用 上一篇介绍了Flink定时读取外部数据Flink 定时加载外部文件数据并广播 这一篇将介绍Flink定时输出到外部存储介质,有两种办法实现,一种是同上一篇一样,在RichXXX ...
- c语言编写闹钟主程序流程图,课程设计基于单片机的定时闹钟.docx
课程设计基于单片机的定时闹钟.docx 课程设计 设计题目:基于单片机的定时闹钟 院 系:电气工程 专 业:电子信息工程 年 级: 姓 名: 指导教师: 课程设计任务书 专业电子信息工程姓名学号 开题 ...
- 【51毕设案例】基于51单片机-定时喂食供氧智能鱼缸
目录 功能介绍: 整体功能简述: 硬件框图: 软件流程图: 原理图: 仿真图: 元器件清单: 主要部分代码展示:void main() 工程管理展示: 下载内容展示: 更详细代码视频讲解及代码下载请看 ...
- python发送文件给微信好友_基于Python实现定时自动给微信好友发送天气预报
效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.sche ...
最新文章
- 实操指南:用谷歌AutoML构建图像分类模型
- Visual Studio 创建封装自己的代码段(C#)
- 如何清除Git中的本地工作目录? [重复]
- java 与 .net socket_java.net.Socket/java.net.ServerSocket-TCP Socket编程
- mybaits中resultMap实现多对多查询映射
- S3C6410启动模式介绍
- 判断 Python 对象是否包含某个属性的方法
- MySQL8 Zip的下载和安装
- Battery Charging Specification 1.2 中文详解 来源:www.chengxuyuans.com
- 《嵌入式 – GD32开发实战指南》第5章 跳动的心脏-Systick
- 解决Vivado仿真卡在executing simulate step
- 实验吧-杂项-Only one file(多文件合并、firework多图层图片)
- 每日新闻丨阿里巴巴香港IPO指引价每股176港元左右;全球超级计算机500强榜单出炉...
- 第五人格显示服务器连接失败,第五人格网络连接失败怎么回事
- 修改网站背景图html代码,HTML中更换或添加网站背景图片的代码怎么写?(示例)...
- java随笔 2008年
- 国民感冒众生相,“微大夫”电磁脉冲预防+舒缓
- 如何实现广告图片总是显示在页面上方,并且随滚动条同步移动?
- jsp返回上一个页面并刷新
- AM335x uboot 移植
热门文章
- java学习(2)方法/类+成员/局部变量+private/this关键字+构造方法+标准类
- 水果(hdu1262)map
- SEO实战教程:“网络营销软件站”SEO策略完全解释
- 2021-2027全球及中国音圈马达驱动行业研究及十四五规划分析报告
- CUDA10.1安装 +VS2015开发环境搭建
- ats中的Servername和via值修改
- 小屏幕Android机,Palm:3.3英寸小屏安卓机来了
- matlab的多目标追踪,mutiple-matlab-3-dimision 多目标三维跟踪的 程序,十分好用 249万源代码下载- www.pudn.com...
- linux系统usb驱动怎么安装教程,MX Linux的闪存驱动器安装教程-电脑系统安装手册...
- ENVI 5.6软件安装教程