From 41544498e8d0fe488ba4b49478dbfeccb976959c Mon Sep 17 00:00:00 2001
From: Simon Oehrl <oehrl@vr.rwth-aachen.de>
Date: Tue, 30 Jun 2020 08:10:36 +0200
Subject: [PATCH] Update node ips before every query

---
 access_node/__main__.py                    | 24 +++++++++++-----------
 access_node/controllers/nest_controller.py | 21 ++++++++++++++++++-
 2 files changed, 32 insertions(+), 13 deletions(-)

diff --git a/access_node/__main__.py b/access_node/__main__.py
index a791940..1dfe50e 100644
--- a/access_node/__main__.py
+++ b/access_node/__main__.py
@@ -25,18 +25,18 @@ def ConnectToDatabase(postgres_username, postgres_password):
 
 def main():
     # Wait for simulation nodes to post to database
-    time.sleep(5)
-
-    # get simulation nodes
-    con = ConnectToDatabase('postgres', 'postgres')
-    cur = con.cursor()
-    # NEST
-    cur.execute("SELECT address FROM nest_simulation_node")
-    nodes.nest_simulation_nodes = [i[0] for i in cur.fetchall()]
-    # Arbor
-    cur.execute("SELECT address FROM nest_simulation_node")
-    nodes.arbor_simulation_nodes = [i[0] for i in cur.fetchall()]
-    con.close()
+    time.sleep(0.1)
+
+    # # get simulation nodes
+    # con = ConnectToDatabase('postgres', 'postgres')
+    # cur = con.cursor()
+    # # NEST
+    # cur.execute("SELECT address FROM nest_simulation_node")
+    # nodes.nest_simulation_nodes = [i[0] for i in cur.fetchall()]
+    # # Arbor
+    # cur.execute("SELECT address FROM nest_simulation_node")
+    # nodes.arbor_simulation_nodes = [i[0] for i in cur.fetchall()]
+    # con.close()
 
 
     # run acces_node
diff --git a/access_node/controllers/nest_controller.py b/access_node/controllers/nest_controller.py
index e4d52ca..855e0b6 100644
--- a/access_node/controllers/nest_controller.py
+++ b/access_node/controllers/nest_controller.py
@@ -234,8 +234,14 @@ def nest_get_simulation_time_info():  # noqa: E501
     :rtype: SimulationTimeInfo
     """
 
+    con = connect_to_database()
+    cur = con.cursor()
+    cur.execute("SELECT address FROM nest_simulation_node")
+    nodes.nest_simulation_nodes = [i[0] for i in cur.fetchall()]
+    con.close()
+
+
     current_time = float('inf')
-    print("Hello")
     for node in nodes.nest_simulation_nodes:
         response = requests.get(
             node+'/current_simulation_time').json()
@@ -264,6 +270,13 @@ def nest_get_spikes(_from=None, to=None, gids=None, offset=None, limit=None):  #
 
     :rtype: Spikes
     """
+
+    con = connect_to_database()
+    cur = con.cursor()
+    cur.execute("SELECT address FROM nest_simulation_node")
+    nodes.nest_simulation_nodes = [i[0] for i in cur.fetchall()]
+    con.close()
+
     spikes = Spikes([], [])
     for node in nodes.nest_simulation_nodes:
         response = requests.get(
@@ -307,6 +320,12 @@ def nest_get_spikes_by_population(population_id, _from=None, to=None, offset=Non
 
     :rtype: Spikes
     """
+    con = connect_to_database()
+    cur = con.cursor()
+    cur.execute("SELECT address FROM nest_simulation_node")
+    nodes.nest_simulation_nodes = [i[0] for i in cur.fetchall()]
+    con.close()
+
     spikes = Spikes([], [])
     for node in nodes.nest_simulation_nodes:
         response = requests.get(
-- 
GitLab