%PDF- %PDF-
Direktori : /home2/vacivi36/intranet.vacivitta.com.br/protected/vendor/yiisoft/yii2-queue/src/cli/ |
Current File : //home2/vacivi36/intranet.vacivitta.com.br/protected/vendor/yiisoft/yii2-queue/src/cli/Signal.php |
<?php /** * @link https://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license https://www.yiiframework.com/license/ */ namespace yii\queue\cli; /** * Process Signal Helper. * * @deprecated since 2.0.2 and will be removed in 3.0. Use SignalLoop instead. * * @author Roman Zhuravlev <zhuravljov@gmail.com> */ class Signal { private static $exit = false; /** * Checks exit signals * Used mainly by [[yii\queue\Queue]] to check, whether job execution * loop can be continued. * @return bool */ public static function isExit() { if (function_exists('pcntl_signal')) { // Installs a signal handler static $handled = false; if (!$handled) { foreach ([SIGTERM, SIGINT, SIGHUP] as $signal) { pcntl_signal($signal, function () { static::setExitFlag(); }); } $handled = true; } // Checks signal if (!static::$exit) { pcntl_signal_dispatch(); } } return static::$exit; } /** * Sets exit flag to `true` * Method can be used to simulate exit signal for methods that use * [[isExit()]] to check whether execution loop can be continued. */ public static function setExitFlag() { static::$exit = true; } }