Ну, я не знаю, что я собираюсь предложить MSMQ, но я предположу, что есть много крайних случаев, о которых нужно подумать, чтобы «свернуть свое».
Даже при использовании подхода с пулом потоков имейте в виду, что могут возникнуть проблемы с упорядочением, если вам не все равно - два элемента, последовательно размещенные в пулах потоков, могут не выполняться по порядку из-за работы пулов потоков. товар.
Вам также необходимо подумать о сохранности сообщений и о том, как долго они должны существовать, как определить «фатальный» статус недоставки и что делать в этом случае.
Существует также ряд потенциальных крайних случаев в сценариях, когда ваше приложение выходит из строя примерно в то же время, когда оно ставит в очередь сообщение - например, оно может не получить подтверждения того, что сообщение было поставлено в очередь, даже если оно было. Да, вы можете подтвердить подтверждение очереди, но вы можете бесконечно попадать в круги ...
Почему бы просто не определить приложение, когда оно подключается, и отправить все данные в этот момент?