Как сделать постоянное получение данных из обновляющейся SQL таблицы с помощью программы на python используя pymysql
Надо написать код для получения alert'ов и реакции на них. Имею на данный момент такой:
import pymysql
import time
import os
# Устанавливаем соединение с базой данных
connection = pymysql.connect(host="localhost",
port=3306,
user="root",
passwd="root",
database="ossec")
# Создаем курсор
cursor = connection.cursor()
# Запрос на выборку значений столбцов из таблицы
query = "SELECT timestamp, rule_id, full_log FROM alert ORDER BY id DESC LIMIT 25;"
# Бесконечный цикл
while True:
try:
# Выполняем запрос SQL
cursor.execute(query)
# Получаем результаты запроса
results = cursor.fetchall()
# Выводим результаты
for row in results:
timestamp_value = row[0]
rule_id_value = row[1]
full_log_value = row[2]
if 53599 < rule_id_value < 53605:
print(full_log_value)
except KeyboardInterrupt:
break
# Закрываем соединение с базой данных
connection.close()
Но в данном случае программа реагирует на изменения ТОЛЬКО после ее перезапуска, писать отдельно в try пытался, не помогает. Что делать? Как реализовать постоянную подгрузку изменений?
Источник: Stack Overflow на русском