#python #openshift #rest #materialized-views #livenessprobe
Вопрос:
У меня есть rest API (на основе Python). Лежащая в основе логика вызывает процедуру Oracle, которая обновляет определенные материализованные представления. Приложение размещено на контейнерной платформе Openshift. Теперь иногда приложение застревает на этом шаге( обновление материализованных представлений). Есть ли способ добавить сюда зонд жизнестойкости, который перезапустит контейнер, если приложение застрянет на этом шаге в течение некоторого времени, скажем, 2 часов.
Ответ №1:
Есть ли способ добавить сюда зонд жизнестойкости, который перезапустит контейнер, если приложение застрянет на этом шаге в течение некоторого времени, скажем, 2 часов.
Да, это было бы возможно, однако вам нужно было бы реализовать логику самостоятельно.
Тесты на живучесть обычно проверяют код возврата команды или HTTP-ответ от конечной точки REST. Поэтому в вашем случае вам, вероятно, потребуется создать новую конечную точку REST, которая проверяет и возвращает ошибку, если какой-либо шаг занимает больше определенного времени. В этом случае конечная точка должна возвращать код ошибки HTTP, например 500.