/** * @param \Prooph\Processing\Processor\Event\SubProcessFinished $subProcessFinished * @throws \RuntimeException */ private function continueParentProcess(SubProcessFinished $subProcessFinished) { $parentProcess = $this->processRepository->get($subProcessFinished->parentTaskListPosition()->taskListId()->processId()); if (is_null($parentProcess)) { throw new \RuntimeException(sprintf("Sub process %s contains unknown parent processId. A process with id %s cannot be found!", $subProcessFinished->subProcessId()->toString(), $subProcessFinished->parentTaskListPosition()->taskListId()->processId()->toString())); } $lastAnswerReceivedForSubProcess = $subProcessFinished->lastMessage()->reconnectToProcessTask($subProcessFinished->parentTaskListPosition()); $this->continueProcessAt($subProcessFinished->parentTaskListPosition(), $lastAnswerReceivedForSubProcess); }
/** * @param SubProcessFinished $message * @return MessageLogEntry */ public static function logSubProcessFinished(SubProcessFinished $message) { return self::createFromMessageProps($message->uuid(), $message->messageName(), $message->version(), $message->lastMessage()->processTaskListPosition()); }