Мы используем продукт рабочего процесса, где у нас есть шаблон событий, который может принять динамически рассчитанный (по рабочему процессу) тайм-аут. Мы ищем портирование на приложения логики и видим, что шаблон HTTP Webhook заменяет шаблон событий. Однако мы столкнулись с проблемой, когда HTTP Webhook может принимать только фиксированный тайм-аут, тайм-аут в триггере ввода / вывода или параметр (который является фиксированным).
Поскольку приложение логики будет рассчитывать время ожидания во время выполнения, нам не удалось выяснить, как установить это значение в качестве таймаута HTTP Webhook.
Есть ли способ заставить HTTP Webhook принимать динамически рассчитанное время ожидания?
Пока что мы рассмотрели следующие варианты:
1) Реализация настраиваемого коннектора HTTP Webhook, который может принимать динамически рассчитанное время ожидания. Очевидно, мы хотели бы получить доступ к текущей реализации HTTP Webhook, чтобы сэкономить время и, кроме того, посмотреть, куда подключить динамически рассчитанное время ожидания.
Мы опасаемся, что это будет невозможно, поскольку время ожидания присуще управлению соединителями и не может быть переопределено / настроено настраиваемым соединителем HTTP Webhook - мы отсканировали пользовательскую документацию по соединителю Webhook, и там нет упоминания о Тайм-аут webhook, который заставляет нас полагать, что тайм-аут находится вне контроля пользовательского соединителя. Комментарии?
2) Реализация псевдо-настраиваемого шаблона времени ожидания с использованием других разъемов:
Parallel Actions
\/
--------------------------------
|| ||
\/ \/
HTTP Webhook, no timeout Delay/Delay schedule
|| ||
|| \/
|| HTTP Request -> triggersubscription
|| ||
\/ \/
--------------------------------
\/
Switch: HTTP Webhook Body = 'Event' | 'Timeout'
Секретный соус заключается в том, чтобы использовать HTTP-запрос к нашему веб-API для запуска HTTP Webhook, но с телом Timeout. Мы рассмотрели возможность запуска HTTP Webhook из самого приложения логики, но, похоже, мы не можем получить @callbackUrl HTTP Webhook.
Очевидно, что этот метод включает в себя 2 дополнительных действия и увеличивает нагрузку (и задержку) на сервере Web API. Комментарии?