Приостановите одну длительную оркестровку функций, чтобы дождаться другой
У меня работает одна оркестровка (DurableOrchestrationContext) и я хочу, чтобы он поставил в очередь какую-то работу для другой оркестровки, а затем заснул, пока это не будет сделано.
Я могу заставить первого заснуть с контекстом.WaitForExternalEvent() но кажется, что вызов для пробуждения оркестровки может быть вызван только из DurableOrchestrationClient, а не из OrchestrationContext.
Я вообще делаю что-то не так или...?
Для фона - вызываемая оркестровка просто знает, как обращаться с проекциями, которые будут выполняться над потоками событий группы сущностей в общем виде. Вызывающий объект хочет, чтобы это произошло для конкретной проекции и определенного набора сущностей... и снова проснуться для следующего шага, когда это будет сделано.
Что я уже пробовал:
В вызывающей оркестровке я жду вызываемого с помощью :
Task<int> projectionsCompleted = context.WaitForExternalEvent <int>("ProjectionsRun");
.после того, как запрос проекции был помещен в очередь, которая запускает второй запрос проекции . процессор оркестровка.
Процессор выполняет все проекции, но как он отвечает вызывающему абоненту, что все сделано?
(Я не хочу использовать это слово. ожидать потому что звонящий должен спать столько, сколько потребуется, а не тайм-аут)
Ближайший пример, который я нашел, это эта тема...