Skip to content
This repository has been archived by the owner on Aug 15, 2018. It is now read-only.

PHP版计划任务,主要解决问题一、单台计划任务服务器宕机导致的计划任务不执行;问题二、计划任务执行的结果及其标准输出的内容,生成到统一的一个存储点(可以是:日志服务器、Redis、MySQL)

License

dcb9/phpcron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

phpcron

PHP版计划任务,本程序是Croon的扩展功能延伸。

功能

  • 在两台机器上运行该程序来防止一台机器宕机之后产生的严重后果
  • 可以规定该计划任务的上线时间和下线时间
  • 计划任务的时间里面可以指定年
  • 将执行结果、标准正确输出、标准错误输出统一到数据库,方便检索

依赖

  • PHP 5.4.0+
  • ext-pcntl
  • ext-posix
  • Composer

库依赖(使用composer install自动安装)

安装

请保证两台服务器上所有的代码一致,包括配置文件,最好采用共享存储 代码克隆及依赖的安装

git clone https://github.com/dcb9/phpcron.git
cd phpcron
composer install

配置相应的数据表

$ cd src   // 进入到src目录

## 创建一个phpcron库,并创建相应的存储表
mysql> CREATE DATABASE `phpcron`;
mysql> use `phpcron`;
mysql> source phpcron.sql;

修改配置文件

$ cp etc/config-example.php etc/config.php
$ vim etc/config.php
修改 host dbname username 及 password

启动与停止

主机 角色 server1 主 server2 备主(主要是该执行的时候不执行,它就顶上去)

启动
server1 $ nohup bin/phpcron.php &
server2 $ nohup bin/phpcron.php --backend &
停止
$ ps -ef | grep phpcron
      进程ID
  501 36270   31711   0 12:58上午 ttys000    0:00.12 php bin/phpcron.php
$ kill 进程ID

添加和修改计划任务

计划任务列表信息全部存储在数据库,所以添加或修改计划任务直接用程序进程修改即可。

日志

日志见 crontab_log

About

PHP版计划任务,主要解决问题一、单台计划任务服务器宕机导致的计划任务不执行;问题二、计划任务执行的结果及其标准输出的内容,生成到统一的一个存储点(可以是:日志服务器、Redis、MySQL)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages