/** * Method to run import from command line. Use @ImportCommand. * @param array $args */ public static function runFromImportCommand($args) { assert('is_array($args)'); $template = "{message}\n"; $messageStreamer = new MessageStreamer($template); $messageStreamer->setExtraRenderBytes(0); if (isset($args[3])) { set_time_limit($args[3]); $messageStreamer->add(Zurmo::t('JobsManagerModule', 'Script will run at most for {seconds} seconds.', array('{seconds}' => $args[3]))); } else { set_time_limit('1200'); $messageStreamer->add(Zurmo::t('JobsManagerModule', 'Script will run at most for {seconds} seconds.', array('{seconds}' => '1200'))); } if (isset($args[0])) { $importName = $args[0]; $messageStreamer->add(Zurmo::t('ImportModule', 'Starting import for process: {processName}', array('{processName}' => $importName))); } else { $importName = null; $messageStreamer->add(Zurmo::t('ImportModule', 'Starting import. Looking for processes.')); } $messageLogger = new ImportMessageLogger($messageStreamer); if (isset($args[2])) { $messageLogger->setMessageOutputInterval((int) $args[2]); } $importName = null; if (isset($args[1])) { $importName = $args[1]; } Yii::app()->custom->runImportsForImportCommand($messageLogger, $importName); $messageStreamer->add(Zurmo::t('ImportModule', 'Ending import.')); }
/** * Called from ImportCommand. Override and add calls to any import routines you would like to run. * @see ImportCommand * @param MessageLogger $messageLogger * @param string $importName - Optional array of specific import process to run, otherwise if empty, * run all available import processes. */ public function runImportsForImportCommand(ImportMessageLogger $messageLogger, $importName = null) { $messageLogger->addErrorMessage(Zurmo::t('Core', 'No import processes found.')); $messageLogger->addErrorMessage(Zurmo::t('Core', 'CustomManagement class needs to be extended.')); }