public function __construct($conf = array())
 {
     parent::__construct($conf);
     // Connect to each mongrel2 servers on port PUB & Control only
     // The worker do not want to receive HTTP requests from mongrel2
     $servers = Conf::f('server_conf', null);
     if ($servers === null) {
         Log::fatal("No mongrel2 servers in the configuration");
         Log::flush();
         exit(0);
     }
     foreach ($servers as $serverId => $server) {
         // Ignore servers without control port
         if (isset($server['ctrl_addr']) === false || $server['ctrl_addr'] === null || isset($server['pub_addr']) === false || $server['pub_addr'] === null) {
             continue;
         }
         Log::info('Server #' . $serverId . ' Control = ' . $server['ctrl_addr'] . '    Pub = ' . $server['pub_addr']);
         $connection = new Connection(null, $server['pub_addr'], $server['ctrl_addr']);
         $connection->connect();
         $this->connections[] = $connection;
         $this->jobs[] = array();
     }
     if (count($this->connections) === 0) {
         Log::fatal('No mongrel2 servers with control port detected');
         Log::flush();
         exit(0);
     }
     Log::info('Task ready, ' . gmdate('c'));
 }
Beispiel #2
0
 public function testLog()
 {
     Log::setLevel('ALL');
     Conf::set('log_delayed', true);
     Conf::set('log_handlers', array('\\photon\\log\\NullBackend'));
     $message = 'dummy message';
     $i = 0;
     Log::plog($message);
     $i++;
     $this->assertEquals($i, count(Log::$stack));
     Log::debug($message);
     $i++;
     $this->assertEquals($i, count(Log::$stack));
     Log::info($message);
     $i++;
     $this->assertEquals($i, count(Log::$stack));
     Log::perf($message);
     $i++;
     $this->assertEquals($i, count(Log::$stack));
     Log::event($message);
     $i++;
     $this->assertEquals($i, count(Log::$stack));
     Log::warn($message);
     $i++;
     $this->assertEquals($i, count(Log::$stack));
     Log::error($message);
     $i++;
     $this->assertEquals($i, count(Log::$stack));
     Log::fatal($message);
     $i++;
     $this->assertEquals($i, count(Log::$stack));
     FileBackend::$return = true;
     Log::flush();
     $this->assertEquals(0, count(Log::$stack));
     FileBackend::$return = false;
     Log::flush();
     $this->assertEquals(0, count(Log::$stack));
     Log::flush();
     $this->assertEquals(0, count(Log::$stack));
     Conf::set('log_delayed', false);
     Log::info($message);
     $this->assertEquals(0, count(Log::$stack));
 }
Beispiel #3
0
 /**
  * Handles the signals.
  *
  * @param $signo The POSIX signal.
  */
 public static function signalHandler($signo)
 {
     if (\SIGTERM === $signo) {
         Log::info('Received SIGTERM, now stopping.');
         foreach (Conf::f('shutdown', array()) as $i) {
             call_user_func($i);
         }
         die(0);
         // Happy death, normally we run the predeath hook.
     }
 }
Beispiel #4
0
 public function testLog()
 {
     Log::setLevel('ALL');
     Log::info('PHPUnit is running');
     Log::info('All looks good !');
 }
Beispiel #5
0
 /**
  * Output a message.
  */
 public function info($message, $eol = PHP_EOL)
 {
     if (!$this->daemon) {
         echo $message . $eol;
     } else {
         Log::info($message);
     }
 }