#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.