Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Aug 15, 2018. It is now read-only.
/ phpcron Public archive

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

License

Notifications You must be signed in to change notification settings

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

Contributors 2

Languages

AltStyle によって変換されたページ (->オリジナル) /