orkestra/daemon

以后台守护进程运行 PHP 脚本

1.0.0 2012-12-31 22:06 UTC

This package is not auto-updated.

Last update: 2024-09-14 11:49:16 UTC


README

Build Status

将 PHP 脚本守护进程化,以便在后台完成工作。

注意:此库需要您安装进程控制和 POSIX 扩展。

安装

将 orkestra-common 添加到项目的最简单方法是使用 composer。

将 orkestra-common 添加到您的 composer.json 文件

{
    "require": {
        "orkestra/daemon": "dev-master"
    }
}

然后运行 composer installcomposer update

使用

使用 pcntl_exec 启动新的工作进程

<?php

require __DIR__ . '/vendor/autoload.php';

use Orkestra\Daemon\Daemon;
use Orkestra\Daemon\Worker\PcntlWorker;

$daemon = new Daemon();
$daemon->addWorker(new PcntlWorker('/path/to/executable', array('--arg=value')));

$daemon->execute();

使用 Symfony Process 启动工作进程

<?php

require __DIR__ . '/vendor/autoload.php';

use Orkestra\Daemon\Daemon;
use Orkestra\Daemon\Worker\ProcessWorker;
use Symfony\Component\Process\Process;

$process = new Process('/path/to/executable --arg=value');

$daemon = new Daemon();
$daemon->addWorker(new ProcessWorker($process));

$daemon->execute();