/** * @param StartSubProcess $command * @throws \Exception */ private function startSubProcess(StartSubProcess $command) { $subProcess = $this->processFactory->createProcessFromDefinition($command->subProcessDefinition(), $this->nodeName, $command->parentTaskListPosition()); $this->beginTransaction(); try { $subProcess->perform($this->workflowEngine, $command->previousWorkflowMessage()); $this->processRepository->add($subProcess); $this->commitTransaction(); } catch (\Exception $ex) { $this->rollbackTransaction(); throw $ex; } }
/** * @param StartSubProcess $message * @return MessageLogEntry */ public static function logStartSubProcess(StartSubProcess $message) { return self::createFromMessageProps($message->uuid(), $message->messageName(), $message->version(), $message->parentTaskListPosition()); }