xact_start peut ne pas être renseigné si l'activité n'exécute aucune requête.

This commit is contained in:
Pierre-Elliott Bécue 2015-04-04 10:37:46 +02:00
parent 1d3b136bed
commit f8f7c789a9

View file

@ -15,17 +15,17 @@ def pg_stat_ended(curseur):
""" """
curseur.execute(PG_STAT_REQ) curseur.execute(PG_STAT_REQ)
data = curseur.fetchall() data = curseur.fetchall()
seuil = max([donnee['xact_start'] for donnee in data]) seuil = max([donnee['xact_start'] for donnee in data if donnee['xact_start'] is not None])
while True and seuil: while True and seuil:
curseur.execute(PG_STAT_REQ) curseur.execute(PG_STAT_REQ)
data = curseur.fetchall() data = curseur.fetchall()
front = min([donnee['xact_start'] for donnee in data]) front = min([donnee['xact_start'] for donnee in data if donnee['xact_start'] is not None])
if front > seuil: if front > seuil:
break break
time.sleep(30) time.sleep(30)
if __name__ == "__main__": if __name__ == "__main__":
conn = psycopg2.connect(database='filtrage') conn = psycopg2.connect(database='filtrage', user='crans')
conn.set_session(autocommit=True) conn.set_session(autocommit=True)
curseur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) curseur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
pg_stat_ended(curseur) pg_stat_ended(curseur)