cronshowPHP 定时任务控制台

联合创作 · 2023-09-29 14:33

cronshow是基于workerman做的定时任务控制台,Linux 定时任务控制,比linux自带的cronjob增加秒级功能。

运行环境

  1. php >= 7.0,php扩展需要 pcntl libevent
  2. Linux
  3. 预留7788和8089端口

使用教程

安装

  1. 下载完项目之后,在根composer install一下,主要加载workerman的库(phper都该懂composer ^_^) composer install
  2. 首次设置要把Application/Config_example 复制文件夹到Application/Config

配置

配置要启动的job,Application/config下的配置文件,代码里Config_example --> Config

按天运行


// Day.php 每天某个时刻的运行

// 例如每天10点15分运行一次

return [

"10:15" => [

"echo no",

"sh /test/test.sh"

]

];

按分钟运行


// Minute.php 每隔多少分钟运行一次

// 每1钟01秒运行一次

return [

"1" => [

"echo no"

]

];

按秒运行


Second.php 每隔多少秒运行一次

// 每5秒运行一次

return [

"5" => [

"echo no"

]

];

web管理的配置


// Web.php web管理

// ip:8089, 也可以使用nginx反向代理一下

return [

//agent的描述

"agent_id" => "test",

"ip" => "0.0.0.0",

"port" => "8089",

"server" => "127.0.0.1",

// 需要访问的agent,一般是ip+8089

"client" => [

// '172.17.0.5:8089',

'127.0.0.1:8089'

],

"key" => "test",

// 需要登录跳转的登录地址

"login_url" => "http://www.baidu.com",

// 是否自动跳去登录

"autoredirectloginurl" => false,

];

## 权限逻辑文件

// Config\Acl.php 这里加上登录逻辑,默认return true即校验成功

运行web界面,可以启动或停止相关进程。

查看web管理

http://127.0.0.1:8089?op=master_list

效果如下:

命令相关

测试运行效果

php job.php start, 会输出运行信息

运行cron服务

本根目录运行以下命令即可

php job.php start -d

停止服务

php job.php stop

todo

  1. 添加队列运行(之前是队列运行,后改成并行,现在还需要根据配置来队列运行)

  2. 增加钉钉通知

浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报