wiryonolau/php-cron-daemon

PHP脚本和cron作业的守护进程

dev-master 2017-12-04 01:07 UTC

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);