/** * * @param array $extras */ protected function _formatExtras($extras = array()) { if (!is_array($extras)) { $extras = array($extras); } if (empty($extras['from'])) { $extras['from'] = Task_Task::formatClassPath($this->_configs['task'][$this->_taskName]['classname']); } return $extras; }
continue; } list($k, $v) = explode('=', $val); $k = str_replace('--', '', $k); if (in_array($k, array('mode', 'limit', 'interval'))) { $config['task'][$taskName][$k] = $v; continue; } $params[$k] = $v; } // logger $logger = Task_Logger::getInstance($taskName, $config); $className = $config['task'][$taskName]['classname']; set_error_handler('errorHandler'); try { $task = Task_Task::factory($className, $config['task'][$taskName]); $task->setName($taskName)->setOptions($config)->setParams($params)->start(); } catch (Task_Exception $e) { $logger->error($e->getMessage()); } function errorHandler($errno, $errstr, $errfile, $errline) { global $logger, $task; if (!isset($logger)) { return; } if (isset($task) && $task instanceof Task_Abstract) { switch ($errno) { case E_ERROR: case E_CORE_ERROR: case E_USER_ERROR: