Exemple #1
0
<?php

/**
 * @author bigbigant
 */
require __DIR__ . '/bootstrap.inc.php';
$logFile = __FILE__ . '-simple-Logger.log';
Comos\Qpm\Log\Logger::useSimpleLogger($logFile);
echo "Execute 'tail {$logFile}' to see the lastest logs.\n";
$func = function () {
    $i = 3;
    while (--$i) {
        sleep(1);
    }
};
try {
    Comos\Qpm\Supervision\Supervisor::oneForOne(array('worker' => $func, 'quantity' => 3, 'maxRestartTimes' => 3))->start();
} catch (Exception $ex) {
    Comos\Qpm\Log\Logger::err($ex);
}
<?php

/**
 * @author bigbigant
 */
require __DIR__ . '/bootstrap.inc.php';
$run = function () {
    $i = 3;
    while ($i--) {
        echo "#{$i} PID:" . posix_getpid() . "\n";
        sleep(1);
    }
};
$config = array('worker' => $run, 'quantity' => 3, 'maxRestartTimes' => 30);
Comos\Qpm\Supervision\Supervisor::oneForOne($config)->start();
Exemple #3
0
<?php

/**
 * @author bigbigant
 */
require __DIR__ . '/bootstrap.inc.php';
use Monolog\Handler\StreamHandler;
use Monolog\Logger;
use Monolog\Formatter\NormalizerFormatter;
use Monolog\Formatter\LineFormatter;
$logFile = __FILE__ . '.log';
echo "Running... Use ctrl+c to quit.\nExecute 'tail {$logFile}' to see the lastest logs.\n";
$logger = new Logger('qpm');
$handler = new StreamHandler($logFile);
new LineFormatter();
$logger->pushHandler($handler);
$formatter = new LineFormatter();
$handler->setFormatter($formatter);
Comos\Qpm\Log\Logger::setLoggerImpl($logger);
function doSomething()
{
    sleep(1);
    throw new Exception('xxx');
}
Comos\Qpm\Supervision\Supervisor::oneForOne(array('worker' => 'doSomething'))->start();