public function load() { $this->configTimestamp = $this->calculateFileTimestamp(); $configFileName = $this->configFileName; KalturaLog::log("loading configuration {$configFileName} at " . $this->configTimestamp); if (is_dir($this->configFileName)) { $configFileName = kEnvironment::get('cache_root_path') . DIRECTORY_SEPARATOR . 'batch' . DIRECTORY_SEPARATOR . 'config.ini'; $this->implodeDirectoryFiles($configFileName); } $hostname = self::getHostname(); parent::__construct($configFileName, $hostname, true); $this->name = $hostname; $this->hostName = $hostname; $this->taskConfigList = array(); foreach ($this->enabledWorkers as $workerName => $maxInstances) { if (!$maxInstances) { continue; } $task = new KSchedularTaskConfig($configFileName, $workerName, $maxInstances); $task->setPartnerId($this->getPartnerId()); $task->setSecret($this->getSecret()); $task->setCurlTimeout($this->getCurlTimeout()); $task->setSchedulerId($this->getId()); $task->setSchedulerName($this->getName()); $task->setServiceUrl($this->getServiceUrl()); $task->setDwhPath($this->getDwhPath()); $task->setDirectoryChmod($this->getDirectoryChmod()); $task->setChmod($this->getChmod()); $task->setDwhEnabled($this->getDwhEnabled()); $task->setTimezone($this->getTimezone()); $task->setInitOnly(false); $task->setRemoteServerUrl($this->getRemoteServerUrl()); $task->setMaxIdleTime($this->getMaxIdleTime()); $this->taskConfigList[$workerName] = $task; } }
private function parseConfgiFile($configFileName) { $this->config = new Zend_Config_Ini($configFileName); foreach ($this->config as $taskData) { $task = new KSchedularTaskConfig(); $task->id = $taskData->id; $task->name = $taskData->name; $task->type = $taskData->type; $task->maximumExecutionTime = $taskData->maximumExecutionTime; $task->friendlyName = $taskData->friendlyName; //7; $task->maxJobsEachRun = $taskData->maxJobsEachRun; //7; $task->scriptPath = $taskData->scriptPath; // "php C:/web/kaltura/support_prod/test/procmgr/class1.php"; $task->scriptArgs = $taskData->scriptArgs; // "1"; $task->maxInstances = $taskData->maxInstances; // 1; $task->sleepBetweenStopStart = $taskData->sleepBetweenStopStart; // 3; $task->startForQueueSize = $taskData->startForQueueSize; // 0; $task->autoStart = $taskData->autoStart; $task->enable = $taskData->enable; //1; $task->affinity = $taskData->affinity; $task->fileExistReties = $taskData->fileExistReties; $task->fileExistInterval = $taskData->fileExistInterval; $task->baseLocalPath = $taskData->baseLocalPath; $task->baseSharedPath = $taskData->baseSharedPath; $task->baseTempLocalPath = $taskData->baseTempLocalPath; $task->baseTempSharedPath = $taskData->baseTempSharedPath; $task->minCreatedAtMinutes = $taskData->minCreatedAtMinutes; $task->params = $taskData->params; if ($taskData->filter) { $task->filter = new KalturaBatchJobFilter(); foreach ($taskData->filter as $attr => $value) { $task->filter->{$attr} = $value; } } $task->setPartnerId($this->getPartnerId()); $task->setSecret($this->getSecret()); $task->setCurlTimeout($this->getCurlTimeout()); $task->setSchedulerId($this->getId()); $task->setSchedulerName($this->getName()); $task->setServiceUrl($this->getServiceUrl()); $task->setDwhPath($this->getDwhPath()); $task->setHostName($this->getHostName()); $task->setTimezone($this->getTimezone()); $task->setQueueFiltersDir($this->getQueueFiltersDir()); $task->setCommandsDir($this->getCommandsDir()); $task->setUseSyslog($this->getUseSyslog()); $task->setInitOnly(false); $task->setMaxIdleTime($this->getMaxIdleTime()); $this->taskConfigList[$this->config->key()] = $task; } }