Логистический ад (4)

(Предыдущая частьНачало)

Отвлечемся от исходной задачи и рассмотрим паттерн «групповая обработка» на более простом примере –

Рис. 4. Групповая обработка

Комментарии к схеме:

  • Заказы поступают от клиентов асинхронно и помещаются в базу данных со статусом «Ожидание»
  • Процесс перевозки, стартующий каждое утро, собирает все заказы с этим статусом, выполняет перевозку и по завершению переводит все обработанные заказы в статус «Выполнено»
  • По изменению статуса срабатывает событие-условие в клиентском процессе, после чего он переходит к расчетам по заказу и благополучно завершается.

Это был простейший вариант групповой обработки. При желании его можно усложнить, например, осуществлять перевозку раздельно по регионам получателей –

Рис. 5. Групповая обработка с циклом по объектам

К сожалению, моделер не может изобразить поток данных из задачи смены статуса внутри развернутого подпроцесса перевозки, поэтому стрелка к хранилищу данных идет от подпроцесса в целом.

(Продолжение)

Запись опубликована в рубрике Разное. Добавьте в закладки постоянную ссылку.

Комментарии запрещены.