У меня есть поток, который на очень высоком уровне выглядит следующим образом: -
- Множественные потоки подписчиков подписываются на очередь
- Всякий раз, когда в очереди есть сообщение, его получает один поток-подписчик.
- Выполняется вызов таблицы базы данных
C
. - Сообщение преобразуется с использованием значения, возвращенного из таблицы
C
, и записывается в таблицу базы данныхA
- В очередь отправляется подтверждение для удаления сообщения из очереди.
- Фоновый поток продолжает опрашивать таблицу базы данных
A
с заданным интервалом - Фоновый поток читает сообщения из таблицы
A
. - Сообщения преобразуются путем вызова метода
transform()
. - Преобразованные сообщения записываются в таблицу
B
. - Исходное сообщение удаляется из таблицы
A
.
Я попытался представить вышеуказанный поток с помощью следующей диаграммы последовательности UML: -
Может ли кто-нибудь сообщить мне, как я могу обновить приведенную выше диаграмму, чтобы добавить следующую информацию: -
- Как я могу представить несколько потоков подписчиков, асинхронно прослушивающих очередь?
- Как представить вызовы базы данных и другую таблицу?
- Как представить фоновый опрос, который происходит с заданным интервалом (скажем, один раз в 10 секунд)?
Есть ли альтернатива диаграмме последовательности UML для четкой передачи потока?