Esempio n. 1
0
 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->inputFileExistRetries = $taskData->inputFileExistRetries;
         $task->inputFileExistInterval = $taskData->inputFileExistInterval;
         $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->setDwhEnabled($this->getDwhEnabled());
         $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;
     }
 }