Пример #1
0
 public function handle($e)
 {
     $logger = Ergo::loggerFor($this);
     $task = $this->getLastTask();
     $prefix = "";
     $suffix = "";
     // print out the task
     printf("\n%sExecute Failed: %s => %s in %s%s\n", $prefix, get_class($task), $e->getMessage(), $e->getFile(), $suffix);
     $operations = array('r' => 'r = release [default]', 'b' => 'b = bury', 'd' => 'd = delete', 'q' => 'q = quit');
     // execute the action chosen for the task
     switch (strtolower($this->_readCommand($operations))) {
         case '':
         case 'r':
             parent::handle($e);
             break;
         case 'd':
             $logger->info("deleting task %s", get_class($task));
             $this->getQueue()->delete($task);
             break;
         case 'b':
             $logger->info("burying task %s", get_class($task));
             $this->getQueue()->bury($task);
             break;
         case 'q':
             exit(Sera_WorkerFarm::SPAWN_TERMINATE);
             break;
     }
 }
Пример #2
0
 protected function _webContext()
 {
     $request = \Ergo::request();
     $headers = $request->getHeaders();
     $hostname = $headers->value('Host');
     $requestStr = sprintf('%s %s', $request->getRequestMethod(), $request->getUrl());
     // add some metadata
     return array('Environment' => 'Web', 'Request' => $requestStr, 'Host Name' => gethostname(), 'Server Name' => isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : 'unknown', 'Host' => $hostname, 'Referer' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'unknown', 'User IP' => isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 'unknown', 'User Agent' => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'unknown');
 }
Пример #3
0
 public function context()
 {
     $request = Ergo::request();
     $headers = $request->getHeaders();
     $hostname = $headers->value('Host');
     $requestStr = sprintf('%s %s', $request->getRequestMethod(), $request->getUrl());
     // add some metadata
     return array('Environment' => 'Web', 'Request' => $requestStr, 'Server Name' => $this->_server('SERVER_NAME', 'unknown'), 'Host' => $hostname, 'Referer' => $this->_server('HTTP_REFERER', 'unknown'), 'User IP' => $this->_server('REMOTE_ADDR', 'unknown'), 'User Agent' => $this->_server('HTTP_USER_AGENT', 'unknown'));
 }
Пример #4
0
 /**
  * Constructor
  */
 function __construct($source, $destination, $queueName)
 {
     $this->logger = Ergo::loggerFor($this);
     // store for later access
     $this->_source = $source;
     $this->_destination = $destination;
     $this->_queueName = $queueName;
     // wire the queues
     $this->_source->listen($queueName);
     $this->_destination->select($queueName);
 }
Пример #5
0
 /**
  * Executes a worker
  */
 private function _executeWorker($worker)
 {
     // use a custom error handler, chain to the existing loggers
     $errorHandler = $worker->getErrorHandler();
     $errorHandler->logger()->addLoggers(Ergo::application()->errorHandler()->logger());
     Ergo::application()->setErrorHandler($errorHandler);
     return $worker->execute();
 }
Пример #6
0
 public function entry($designid, $user, $latitude, $longitude)
 {
     $this->_send(array('type' => 'entry', 'entry' => Ergo::lookup('router')->buildUrl('designattachment.resized', array('designid' => $designid, 'size' => 'smallcrop')), 'avatar' => $user->avatar()->url(), 'latitude' => $latitude, 'longitude' => $longitude));
 }
Пример #7
0
 /**
  * Stops the current application instance
  */
 public static function stop()
 {
     self::$_application->stop();
     self::$_started = false;
 }