当前位置: 首页>>代码示例>>PHP>>正文


PHP Scalr::emergencyMemory方法代码示例

本文整理汇总了PHP中Scalr::emergencyMemory方法的典型用法代码示例。如果您正苦于以下问题:PHP Scalr::emergencyMemory方法的具体用法?PHP Scalr::emergencyMemory怎么用?PHP Scalr::emergencyMemory使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Scalr的用法示例。


在下文中一共展示了Scalr::emergencyMemory方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: Worker

    exit;
}
$taskClass = 'Scalr\\System\\Zmq\\Cron\\Task\\' . $cls;
/* @var $task \Scalr\System\Zmq\Cron\AbstractTask */
$task = new $taskClass();
$config = $task->config();
//Initializes MDP Worker
$worker = (new Worker(Scalr::config('scalr.crontab.sockets.broker'), $service, true))->setHeartbeat(Scalr::config('scalr.crontab.heartbeat.delay'))->setLiveness(Scalr::config('scalr.crontab.heartbeat.liveness'))->setLogger(\Scalr::getContainer()->logger('cron/worker.php')->setLevel(\Scalr::config('scalr.crontab.log_level')))->connect();
$interrupt = 0;
// Whether the worker lost connection to the broker.
$disconnected = false;
//Signal handler callback function
$sigHandler = function ($signo = null) use(&$interrupt, $task, $worker, $disconnected) {
    static $once = 0;
    //Releases emergency memory trying to handle memory limit fatal error
    Scalr::$emergencyMemory = null;
    $interrupt++;
    if ($once++) {
        return;
    }
    if ($disconnected) {
        $task->log("DEBUG", "Worker was disconnected. Exiting");
    } else {
        $task->log("DEBUG", "Worker received termination SIGNAL:%d", intval($signo));
    }
    //Prevents zombifying
    if (!$disconnected && $task->isServiceRegistered() !== false) {
        //Disconnect worker
        //NOTE! If broker is offline at this moment, the process is hanging while worker is sending the message
        $worker->send(Mdp::WORKER_DISCONNECT);
        $task->log('DEBUG', 'Worker sent a disconnect message.');
开发者ID:mheydt,项目名称:scalr,代码行数:31,代码来源:worker.php


注:本文中的Scalr::emergencyMemory方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。