public function handle($e) { $logger = Ergo::loggerFor($this); $task = $this->getLastTask(); $prefix = "[31m"; $suffix = "[0m"; // 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; } }
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'); }
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')); }
/** * 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); }
/** * 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(); }
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)); }
/** * Stops the current application instance */ public static function stop() { self::$_application->stop(); self::$_started = false; }