cronshow

PHP 定时任务控制台
授权协议 MIT
开发语言 PHP
所属分类 程序开发、 作业/任务调度
软件类型 开源软件
地区 国产
投 递 者 姬康平
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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. 增加钉钉通知

 相关资料
  • 我希望在jmc中发出自定义事件--我看到了一篇关于jfr自定义事件的博客文章--http://hirt.se/blog/?p=444。然而,作者强调,这一特点今后可能会被取消。由于jmc不是开源的,我无法检查它。博客帖子中的信息仍然是最新的吗?

  • 在请求返回后继续执行章节中,我们介绍了一种实现的方法,这里我们 介绍一种更优雅更通用的方法:ngx.timer.at()。 ngx.timer.at 会创建一个 Nginx timer。在事件循环中,Nginx 会找出到期的 timer,并在一个独立的协程中执行对应的 Lua 回调函数。 有了这种机制,ngx_lua 的功能得到了非常大的扩展,我们有机会做一些更有想象力的功能出来。比如 批量提交和

  • 在 Blade 2.0.8 版本之后加入了 cron 表达式来完成定时执行任务的需求。 你只需要在处理任务的方法上添加一个 @Schedule 注解,然后编写 cron 表达式即可。 Blade 的任务系统提供你创建、停止、获取任务列表的 API。 创建一个任务 @Bean public class SimpleTask { @Schedule(cron = "* * * * * ?")

  • 定时任务即在指定的时间点对关联资源进行指定动作。 定时任务即在指定的时间点对关联资源进行指定动作。目前仅支持对虚拟机进行定时开关机、重启等操作。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “运维工具/常用工具/定时任务” 菜单项,进入定时任务页面。 新建定时任务 该功能用于创建定时任务。 在定时任务页面,单击列表上方 “新建” 按钮,进入新建定时任务也没。 配置以下参数: 指定

  • 帮助用户快速部署定时任务。 定时任务(CronJob)可以根据设定的策略周期性的运行job任务。CronJob的详细介绍内容,请参考kubernets官方文档-CronJobs 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “容器/应用/定时任务” 菜单项,进入定时任务页面。 定时说明 请参考Cron # 定时设置举例 */1 * * * * # 表示每分钟创建一个job任务。

  • 通常来说,执行定时任务会通过 Linux 的 crontab 命令来实现,但现实情况下,并不是所有开发人员都能够拥有生产环境的服务器去设置定时任务的,这里 hyperf/crontab 组件为您提供了一个 秒级 定时任务功能,只需通过简单的定义即可完成一个定时任务的定义。 安装 composer require hyperf/crontab 使用 启动任务调度器进程 在使用定时任务组件之前,需要

  • 说明 在实际项目中,我们经常会有一些任务是需要定时执行的。 虽然有 cron、crontab、systemd 等系统级内置的,定时任务工具存在。 但是他们的一些让人掉头发的配置写法,以及增加运维心智负担,无法适应多实例部署场景等等原因,势必需要在 imi 框架中提供这个功能。 设计 imi 通过增加一个 CronProcess 进程用于定时任务的调度和执行,使用 Redis 作为数据存储。 定时任