From 394e4c0210d14943329db06d9a73bd4cee8d5b5e Mon Sep 17 00:00:00 2001 From: steering7253 Date: Sat, 11 Apr 2026 01:08:03 +0000 Subject: delete rows to free up the names after their soft-deletions are processed --- cronjob.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cronjob.py b/cronjob.py index 67671bd..fa2bbea 100755 --- a/cronjob.py +++ b/cronjob.py @@ -19,8 +19,10 @@ while row := curs.fetchone(): birdcfg.close() wgcfg.close() os.system(f'systemctl enable --now wg-quick@wg{asn%10000:04}{name}') +curs.close() curs = DB.execute('SELECT name, asn FROM peers WHERE deleted=1') +deletions = [] while row := curs.fetchone(): name, asn = row print(f'Deleting {asn}-{name}...') @@ -29,5 +31,10 @@ while row := curs.fetchone(): except FileNotFoundError: pass try: os.remove(f'/etc/wireguard/wg{asn%10000:04}{name}.conf') except FileNotFoundError: pass + deletions.append((name, asn)) +curs.close() + +for name, asn in deletions: + DB.execute('DELETE FROM peers WHERE name = :name AND asn = :asn', dict(name=name, asn=asn)) os.system('/usr/sbin/birdc configure') -- cgit v1.3.1-10-gc9f91