Exemple #1
0
 public function createJob($command, $parameters = null, $sessionid = null, $request_guid = null)
 {
     global $thallium;
     if (!isset($command) || empty($command) || !is_string($command)) {
         static::raiseError(__METHOD__ . '(), parameter $commmand is required!');
         return false;
     }
     if (isset($sessionid) && (empty($sessionid) || !is_string($sessionid))) {
         static::raiseError(__METHOD__ . '(), parameter $sessionid has to be a string!');
         return false;
     }
     if (isset($request_guid) && (empty($request_guid) || !$thallium->isValidGuidSyntax($request_guid))) {
         static::raiseError(__METHOD__ . '(), parameter $request_guid is invalid!');
         return false;
     }
     try {
         $job = new \Thallium\Models\JobModel();
     } catch (\Exception $e) {
         static::raiseError(__METHOD__ . '(), unable to load JobModel!');
         return false;
     }
     if (isset($sessionid) && !$job->setSessionId($sessionid)) {
         static::raiseError(get_class($job) . '::setSessionId() returned false!');
         return false;
     }
     if (isset($request_guid) && !$job->setRequestGuid($request_guid)) {
         static::raiseError(get_class($job) . '::setRequestGuid() returned false!');
         return false;
     }
     if (!$job->setCommand($command)) {
         static::raiseError(get_class($job) . '::setCommand() returned false!');
         return false;
     }
     if (isset($parameters) && !empty($parameters)) {
         if (!$job->setParameters($parameters)) {
             static::raiseError(get_class($job) . '::setParameters() returned false!');
             return false;
         }
     }
     if (!$job->save()) {
         static::raiseError(get_class($job) . '::save() returned false!');
         return false;
     }
     if (!$job->hasGuid() || !$thallium->isValidGuidSyntax($job->getGuid())) {
         static::raiseError(get_class($job) . '::save() has not lead to a valid GUID!');
         return false;
     }
     return $job;
 }