lifecycle: connect to database first

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer 2022-07-19 09:23:43 +02:00
parent d150a0c135
commit 4edec5f666
1 changed files with 6 additions and 6 deletions

View File

@ -53,15 +53,11 @@ def release_lock():
def is_locked(): def is_locked():
"""Check if lock is currently active (used by worker to wait for migrations)""" """Check if lock is currently active (used by worker to wait for migrations)"""
curr.executor("SELECT count(*) FROM pg_locks WHERE objid = %s", (ADV_LOCK_UID,)) curr.execute("SELECT count(*) FROM pg_locks WHERE objid = %s", (ADV_LOCK_UID,))
return curr.rowcount return curr.fetchall()[0][0]
if __name__ == "__main__": if __name__ == "__main__":
if len(sys.argv) > 1:
if sys.argv[1] == "check_lock":
sys.exit(is_locked())
conn = connect( conn = connect(
dbname=CONFIG.y("postgresql.name"), dbname=CONFIG.y("postgresql.name"),
user=CONFIG.y("postgresql.user"), user=CONFIG.y("postgresql.user"),
@ -70,6 +66,10 @@ if __name__ == "__main__":
port=int(CONFIG.y("postgresql.port")), port=int(CONFIG.y("postgresql.port")),
) )
curr = conn.cursor() curr = conn.cursor()
if len(sys.argv) > 1:
if sys.argv[1] == "check_lock":
sys.exit(is_locked())
try: try:
for migration in Path(__file__).parent.absolute().glob("system_migrations/*.py"): for migration in Path(__file__).parent.absolute().glob("system_migrations/*.py"):
spec = spec_from_file_location("lifecycle.system_migrations", migration) spec = spec_from_file_location("lifecycle.system_migrations", migration)