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; }