Cleaned up initialization process for SimulationThread.
This commit is contained in:
parent
60ed9fa0c6
commit
b8e531af96
|
@ -9,14 +9,11 @@ class SimulationThread(threading.Thread):
|
|||
instance = None
|
||||
|
||||
@classmethod
|
||||
def get_instance(cls, periods=None, start_time=None, run_time=None, time_factor=1.0):
|
||||
if cls.instance is not None:
|
||||
return cls.instance
|
||||
|
||||
if periods is None:
|
||||
raise ValueError("Periods parameter must be specified on first call")
|
||||
|
||||
def initialize(cls, periods, start_time=None, run_time=None, time_factor=1.0):
|
||||
cls.instance = SimulationThread(periods, start_time, run_time, time_factor)
|
||||
|
||||
@classmethod
|
||||
def get_instance(cls, periods=None, start_time=None, run_time=None, time_factor=1.0):
|
||||
return cls.instance
|
||||
|
||||
def __init__(self, periods, start_time, run_time, time_factor):
|
||||
|
|
|
@ -6,11 +6,6 @@ from django.conf import settings
|
|||
|
||||
from simulation import SimulationThread
|
||||
|
||||
def simulation():
|
||||
while True:
|
||||
print("Simulation: {}".format(time.time()))
|
||||
time.sleep(1.0)
|
||||
|
||||
class TrafficlightfrontendConfig(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = 'trafficlightfrontend'
|
||||
|
@ -29,6 +24,7 @@ class TrafficlightfrontendConfig(AppConfig):
|
|||
|
||||
periods = json.load(open("periods.json"))
|
||||
|
||||
SimulationThread.get_instance(periods, start_time=datetime.time.fromisoformat("07:59"), time_factor=4.0).start()
|
||||
SimulationThread.initialize(periods, start_time=datetime.time.fromisoformat("07:59"), time_factor=4.0)
|
||||
SimulationThread.get_instance().start()
|
||||
|
||||
TrafficlightfrontendConfig.initialized = True
|
||||
|
|
Loading…
Reference in New Issue