]> git.mxchange.org Git - fba.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Sun, 28 May 2023 16:02:05 +0000 (18:02 +0200)
committerRoland Häder <roland@mxchange.org>
Sun, 28 May 2023 16:08:15 +0000 (18:08 +0200)
- added last_instance_fetch timestamp

blocks_empty.db
fba.py
fetch_instances.py

index b83a45698ec8169a185a20908352c3a3b88b1c85..905adbe85ed60f0f74f974521cd72311ec2764e3 100644 (file)
Binary files a/blocks_empty.db and b/blocks_empty.db differ
diff --git a/fba.py b/fba.py
index 95d692bc6e17c3570d3ed87bd6d97d9cdfe72cdb..f54789cedd5299033f4965c2aceff6d47d66119e 100644 (file)
--- a/fba.py
+++ b/fba.py
@@ -328,6 +328,25 @@ def update_last_error(domain: str, res: any):
 
     # DEBUG: print("DEBUG: EXIT!")
 
+def update_last_instance_fetch(domain: str):
+    #print("DEBUG: Updating last_instance_fetch for domain:", domain)
+    try:
+        cursor.execute("UPDATE instances SET last_instance_fetch = ?, last_updated = ? WHERE domain = ? LIMIT 1", [
+            time.time(),
+            time.time(),
+            domain
+        ])
+
+        if cursor.rowcount == 0:
+            print("WARNING: Did not update any rows:", domain)
+
+    except BaseException as e:
+        print(f"ERROR: failed SQL query: domain='{domain}',exception:'{str(e)}'")
+        sys.exit(255)
+
+    connection.commit()
+    #print("DEBUG: EXIT!")
+
 def update_last_nodeinfo(domain: str):
     # DEBUG: print("DEBUG: Updating last_nodeinfo for domain:", domain)
     try:
@@ -399,6 +418,8 @@ def get_peers(domain: str, software: str) -> list:
                 # DEBUG: print(f"DEBUG: Adding peer: '{row['host']}'")
                 peers.append(row["host"])
 
+        update_last_instance_fetch(domain)
+
         # DEBUG: print("DEBUG: Returning peers[]:", type(peers))
         return peers
     elif software == "lemmy":
@@ -423,7 +444,7 @@ def get_peers(domain: str, software: str) -> list:
         except BaseException as e:
             print(f"WARNING: Exception during fetching JSON: domain='{domain}',exception:'{str(e)}'")
 
-        update_last_nodeinfo(domain)
+        update_last_instance_fetch(domain)
 
         # DEBUG: print("DEBUG: Returning peers[]:", type(peers))
         return peers
@@ -462,7 +483,7 @@ def get_peers(domain: str, software: str) -> list:
                 except BaseException as e:
                     print(f"WARNING: Exception during fetching JSON: domain='{domain}',exception:'{str(e)}'")
 
-            update_last_nodeinfo(domain)
+            update_last_instance_fetch(domain)
 
             # DEBUG: print("DEBUG: Returning peers[]:", type(peers))
             return peers
@@ -498,7 +519,7 @@ def get_peers(domain: str, software: str) -> list:
         print("WARNING: Some error during get():", domain, e)
         update_last_error(domain, e)
 
-    update_last_nodeinfo(domain)
+    update_last_instance_fetch(domain)
 
     # DEBUG: print("DEBUG: Returning peers[]:", type(peers))
     return peers
index ceadd47f29eadd69c57a79cffd1c311c27539772..c5188fd62835b2c26df454a47c33f9b1f43156af 100644 (file)
@@ -53,7 +53,7 @@ fetch_instances(instance, None, None)
 
 # Loop through some instances
 fba.cursor.execute(
-    "SELECT domain,origin,software FROM instances WHERE software IN ('pleroma', 'mastodon', 'friendica', 'misskey', 'gotosocial', 'bookwyrm', 'takahe', 'lemmy') AND (last_nodeinfo IS NULL OR last_nodeinfo < ?) ORDER BY rowid DESC", [time.time() - fba.config["recheck_instance"]]
+    "SELECT domain,origin,software FROM instances WHERE software IN ('pleroma', 'mastodon', 'friendica', 'misskey', 'gotosocial', 'bookwyrm', 'takahe', 'lemmy') AND (last_instance_fetch IS NULL OR last_instance_fetch < ?) ORDER BY rowid DESC", [time.time() - fba.config["recheck_instance"]]
 )
 
 rows = fba.cursor.fetchall()