Вопрос по http-status-codes – Код состояния HTTP для базы данных не работает

38

У меня есть страница на моем веб-сайте, которая сообщает о состоянии сайта и устанавливает код состояния HTTP 200 - все в порядке. Эта страница используется программой внешнего мониторинга для проверки работоспособности сайта.

Когда эта страница нажата, я делаю очень легкий вызов процедуры БД, чтобы проверить, работает ли БД и все в порядке. Если это не удается, я хочу вернуть значимый код ошибки HTTP на монитор, чтобы он знал, что не все в порядке.

Из того, что я могу там работатьНет HTTP-статуса, который говорит "сторонний компонент, на который я полагаюсь, не работает " так что бы вы вернули в этом случае?

сервис 503 недоступен...?

Ваш Ответ

3   ответа
-1

вы должны основывать свой мониторинг не только на возврате статуса. Вы'мы пытаемся передать более сложную информацию, чем коды состояния HTTP, предназначенные для связи.

Или просто выберите код, даже создайте его и настройте мониторинг так, чтобы он воспринимался как "дб вниз ".

Для меня это звучит так, будто он хочет передать значимое сообщение клиентам, когда база данных не работает. В этом случае создание кода неХорошая идея - как клиенты должны интерпретировать это? Вы должны выбрать правильный код статуса. Thomas Owens
32

503 означает, что сервер полагался на подключение какой-либо другой службы, которая не ответила вовремя.

Ошибка сервера 5xx

Проверил Википедию и список там, кажется, подразумевает, что 504 будет тот, кого яЯ думаю о. Вполне возможно, что ссылка более устарела.

Так:

Ошибка 504 Время ответа сервера истекло

Сервер действовал как шлюз или прокси и не получил своевременный запрос от нижестоящего сервера.

Я выбираю 503, потому что это означает, что это временная проблема, и клиент можетповторите попытку через определенное время, которое можно указать в заголовке. Jonas Tomanga
Я думаю ты'Правильно в этом, @Prashanth Tomas
504 будет когдасервер смог установить соединение но не сделалполучить своевременный ответ. Итак, я чувствую, что503 здесь больше подходит, потому что мы даже не можем установить соединение. Prashanth
31

что 500 или 503 будет уместно. 503 обычно используется для условий перегрузки или технического обслуживания, но я неНе думаю, что было бы неразумно использовать его в вашей ситуации.

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

Похожие вопросы