Я просто пытаюсь отслеживать процесс репликации, измеряя пробелы в целевых таблицах. Если разрыв таблицы (ов) превышает более чем, например, 10, тогда создайте предупреждение SNS (напечатайте в этом случае), так как я перенесу это в AWS лямбда.
У меня есть следующий скрипт, который по существу ниже читает список таблиц и запускает счетчик выбора таблиц. Я также сплю несколько секунд, чтобы я мог измерить второй счетчик и передать его в оператор if, чтобы поднять (оповещение SNS) или напечатать (на данный момент) уведомление, когда счет превышает предопределенное значение. Я искал словарь python для этого, но так как я делаю одну из моих первых нескольких попыток в python, поэтому любая помощь приветствуется.
Спасибо
import psycopg2
import time
# Connection with the DataBase
conn = psycopg2.connect(user = "onlineuser", database = "onedb", host = "123.123.123.123", port = "5432")
cursor = conn.cursor()
sql = 'SELECT count(*) from onlineuser.{}'
tables = ['oltptrans','oltpcases']
for t in tables:
cursor.execute(sql.format(t))
result = cursor.fetchone()
print(result[0])
time.sleep(5)
sql2 = 'SELECT count(*) from onlineuser.{}'
tables2 = ['oltptrans','oltpcases']
for t2 in tables:
cursor.execute(sql.format(t2))
result2 = cursor.fetchone()
print(result2[0])
if result2[0] - result[0] > 5: # If the rowcount gap is greater than 5, print or raise SNS
# alert/message
print ("Trouble")
conn.close()