Как обновить части страницы при изменении базы данных?

#web.py #partial-page-refresh

#web.py #частичное обновление страницы

Вопрос:

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

Я написал небольшую страницу состояния, которая отслеживает некоторые из наших веб-сайтов. Он использует web.py и отображает список серверов, которые я ввел в базу данных.

Рядом с каждым запущенным сервером отображается зеленое изображение в формате png.

Когда сервер выходит из строя, я обновляю статус в локальной базе данных mysql на false.

При следующем обновлении страницы рядом с ней отображается красный png.

Прямо сейчас этот красный файл png не отображается, пока я не обновлю страницу.

Есть ли способ web.py (python) что я могу сделать только это изображение динамичным без необходимости обновлять всю страницу? Или я должен использовать что-то еще, чтобы заставить это работать?

Ответ №1:

Ну, общий ответ заключается в том, что вы используете AJAX и размещаете скрипт на каждом сервере, который будет возвращать «up» или что-то еще при каждой проверке вашей страницы.

Вот руководство о том, как сделать AJAX с web.py в частности: http://kooneiform.wordpress.com/2010/02/28/python-and-ajax-for-beginners-with-webpy-and-jquery /

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

1. Примечание: «Когда сервер выходит из строя, я обновляю статус в локальной базе данных mysql на false». — это не кажется необходимым, если только вы не хотите вести учет времени безотказной работы, а веб-страница с поддержкой ajax действительно не лучший метод для отслеживания времени безотказной работы — это лучше сделать с помощью программного обеспеченияпредназначен для поддержания статистики времени безотказной работы.

Ответ №2:

У меня нет знаний, связанных с web.py .

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

Ваша служба мониторинга предоставит URL-адрес, который получает отслеживаемый идентификатор сайта и возвращает вверх или вниз. Поскольку вы используете web.py , вероятно, это будет 100% python.

Ваш монитор будет использовать javascript, чтобы каждый раз за X секунд проверять этот URL-адрес и показывать правильный значок. Он может быть основан на python или нет. Но для этого потребуется javascript.