wiryonolau / php-cron-daemon
PHP脚本和cron作业的守护进程
dev-master
2017-12-04 01:07 UTC
Requires
- php: >=5.6
- vanushwashere/cron-expression-php5: v1.2.0.3
- zendframework/zendframework: 2.5.*
This package is auto-updated.
Last update: 2024-09-16 08:21:15 UTC
README
这是一个库,它通过使用zf2和pcntl扩展,允许php应用程序使用守护进程任务。
使用方法
composer require wiryonolau/php-cron-daemon
添加到您的module.config.php中,以下为示例
"cron_daemon" => array(
array(
"program" => "/usr/bin/php"
"arguments" => array("/public/index.php", "application", "init", "-y"),
"schedule" => "* * * * *",
"work_count" => 1,
"timeout" => 10
)
)
参数
- program:一个可执行程序
- arguments:脚本路径及其参数以数组形式分开
- schedule(可选)
- 默认为false,它将根据work_count运行一次,对无限循环脚本(如rabbitmq工作器)很有用
- 如果指定(必须使用cron作业格式),守护进程将在达到时间表时运行
- work_count(可选):默认为1,最大为10,当前任务需要运行多少个脚本
- timeout(可选):任务超时(秒),默认为0,无超时
要作为守护进程运行脚本,您可以使用init.d或systemd
如果您使用的是使用phpampqlib的php任务,请将set_close_on_destruct设置为false,以便守护进程可以优雅地杀死它,而不会留下僵尸进程
$connection->set_close_on_destruct(false);