Я хочу представить SS Service Broker,
У меня есть база данных удаленных заказов и локальная база данных обработки, все действия с базой данных обработки должны выполняться последовательно, это кажется идеальной работой для Service Broker!
Я настроил инфраструктуру, я могу отправлять и получать сообщения, и теперь я смотрю на дизайн обработки. Как я уже сказал, все процессы для одного заказа должны быть выполнены последовательно, поэтому я помещу их в один разговор.
Одним из этих процессов является запрос внешних данных плоских файлов, затем мы ждем (может быть несколько дней), а затем импортируем и обрабатываем этот файл, когда он возвращается. Как я могу обработать половину задач, затем дождаться возврата плоского файла перед обработкой другой половины.
У меня были некоторые идеи, но я уверен, что где-то упустил трюк
1) Записать все элементы очереди в таблицу состояния и использовать значения состояния - кажется, что это устраняет некоторую гибкость SSSB и добавляет еще один уровень задач
2) Держать транзакцию открытой, пока мы не получим данные - не идеально
3) Постоянно опрашивать задачу импорта плоского файла на предмет появления файла - это кажется неэффективным
Каков наиболее эффективный способ управления этим рабочим процессом?
заранее спасибо