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
 public function registerSignals()
 {
     if (!pcntl_signal(\SIGTERM, array('\\photon\\server\\Server', 'signalHandler'))) {
         Log::fatal('Cannot install the SIGTERM signal handler.');
         die(1);
     }
 }
Beispiel #4
0
 public function registerSignals()
 {
     if (!pcntl_signal(SIGTERM, array('\\photon\\task\\BaseTask', 'signalHandler'))) {
         Log::fatal('Cannot install the SIGTERM signal handler.');
         exit(1);
     }
 }