вывод фонового задания в кластеризованной среде

#java #background #jobs #cluster-computing

#java #фон #Вакансии #кластерные вычисления

Вопрос:

Я пишу простое веб-приложение на Java (только для образовательных целей), которое позволяет администратору вручную выполнять некоторые задания фонового обслуживания (например, выполнить некоторый процесс в системе через Runtime.exec — это на самом деле не имеет значения). Фоновое задание ofc выполняется в своем собственном потоке и выводит некоторую информацию. Мне интересно, как правильно передать этот вывод пользователю через веб-интерфейс? Например, администратор возвращается через несколько минут и хочет посмотреть на вывод выполненного им задания. Что еще более важно, как решить эту проблему в кластеризованной среде, где задание выполняется в одном экземпляре, но просмотр выходных данных происходит в другом? Существуют ли какие-либо известные эффективные практики?

Я думаю, в некластеризованном буфере вывода env в памяти было бы достаточно. Но в кластеризованной среде я могу думать только о db / file store для этого вывода, но это громоздко (временные ресурсы должны быть удалены позже и т.д.).

Заранее спасибо.

Ответ №1:

Я предлагаю базу данных (хотя я понимаю вашу точку зрения о том, что это всего лишь временный ресурс).

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

Кроме того, эти «временные» ресурсы имеют привычку со временем становиться постоянными, поскольку результаты фонового процесса приобретают большее значение (в глазах аудиторов и т.д.), Хотя в вашем случае это маловероятно

Комментарии:

1. Замечание принято. Интересное замечание по аудиту, не подумал об этом.