Scalr\System\Zmq\Cron\AbstractTask::checkMemoryUsage PHP Метод

checkMemoryUsage() публичный Метод

См. также: Scalr\System\Zmq\Cron\TaskInterface::checkMemoryUsage()
public checkMemoryUsage ( )
    public function checkMemoryUsage()
    {
        $config = $this->config();
        if (!empty($config->memory_limit)) {
            $usage = explode(PHP_EOL, shell_exec(sprintf('ps -o rss -p %s', getmypid())));
            if (!empty($usage[1])) {
                $usage = trim($usage[1]) / 1024;
            } else {
                $usage = memory_get_usage() / 1024 / 1024;
            }
            if ($usage > $config->memory_limit) {
                $this->log('WARN', "Memory limit of %d Mb has been reached. Current usage is %0.3f Mb.", $config->memory_limit, $usage);
                return false;
            } else {
                if (time() - $this->lastMemoryUsageTime > 600) {
                    $this->lastMemoryUsageTime = time();
                    $this->log('SERVICE', 'Memory usage: %0.2f MB', $usage);
                }
            }
        }
        return true;
    }