Skip to content

Commit e9ccdaf

Browse files
committed
Removed disabled & offline options, added mode instead
1 parent f4661cb commit e9ccdaf

File tree

3 files changed

+27
-30
lines changed

3 files changed

+27
-30
lines changed

simvue/run.py

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,8 @@ class Run(object):
126126
"""
127127
Track simulation details based on token and URL
128128
"""
129-
def __init__(self, disabled=False):
130-
self._disabled = disabled
129+
def __init__(self, mode='online'):
130+
self._mode = mode
131131
self._name = None
132132
self._suppress_errors = False
133133
self._queue_blocking = False
@@ -144,7 +144,6 @@ def __init__(self, disabled=False):
144144
self._url, self._token = get_auth()
145145
self._headers = {"Authorization": f"Bearer {self._token}"}
146146
self._simvue = None
147-
self._offline = False
148147

149148
def __enter__(self):
150149
return self
@@ -157,7 +156,7 @@ def _start(self, reconnect=False):
157156
"""
158157
Start a run
159158
"""
160-
if self._disabled:
159+
if self._mode == 'disabled':
161160
return True
162161

163162
data = {'name': self._name, 'status': self._status}
@@ -171,7 +170,7 @@ def _start(self, reconnect=False):
171170

172171
self._metrics_queue = multiprocessing.Manager().Queue(maxsize=self._queue_size)
173172
self._events_queue = multiprocessing.Manager().Queue(maxsize=self._queue_size)
174-
self._worker = Worker(self._metrics_queue, self._events_queue, self._name, self._url, self._headers, self._offline)
173+
self._worker = Worker(self._metrics_queue, self._events_queue, self._name, self._url, self._headers, self._mode)
175174

176175
if multiprocessing.current_process()._parent_pid is None:
177176
self._worker.start()
@@ -187,11 +186,11 @@ def _error(self, message):
187186
else:
188187
logger.error(message)
189188

190-
def init(self, name=None, metadata={}, tags=[], description=None, folder='/', running=True, offline=False):
189+
def init(self, name=None, metadata={}, tags=[], description=None, folder='/', running=True):
191190
"""
192191
Initialise a run
193192
"""
194-
if self._disabled:
193+
if self._mode == 'disabled':
195194
return True
196195

197196
if not name:
@@ -210,7 +209,6 @@ def init(self, name=None, metadata={}, tags=[], description=None, folder='/', ru
210209
self._error('metadata must be a dict')
211210

212211
self._name = name
213-
self._offline = offline
214212

215213
if running:
216214
self._status = 'running'
@@ -236,7 +234,7 @@ def init(self, name=None, metadata={}, tags=[], description=None, folder='/', ru
236234
if self._status == 'running':
237235
data['system'] = get_system()
238236

239-
self._simvue = Simvue(self._name, self._offline, self._suppress_errors)
237+
self._simvue = Simvue(self._name, self._mode, self._suppress_errors)
240238
if not self._simvue.create_run(data):
241239
return False
242240

@@ -252,17 +250,16 @@ def name(self):
252250
"""
253251
return self._name
254252

255-
def reconnect(self, name, offline=False):
253+
def reconnect(self, name):
256254
"""
257255
Reconnect to a run in the created state
258256
"""
259-
if self._disabled:
257+
if self._mode == 'disabled':
260258
return True
261259

262260
self._status = 'running'
263-
self._offline = offline
264261
self._name = name
265-
self._simvue = Simvue(self._name, self._offline, self._suppress_errors)
262+
self._simvue = Simvue(self._name, self._mode, self._suppress_errors)
266263
self._start(reconnect=True)
267264

268265
def config(self,
@@ -288,7 +285,7 @@ def update_metadata(self, metadata):
288285
"""
289286
Add/update metadata
290287
"""
291-
if self._disabled:
288+
if self._mode == 'disabled':
292289
return True
293290

294291
if not self._name:
@@ -314,7 +311,7 @@ def update_tags(self, tags):
314311
"""
315312
Add/update tags
316313
"""
317-
if self._disabled:
314+
if self._mode == 'disabled':
318315
return True
319316

320317
if not self._name:
@@ -336,7 +333,7 @@ def log_event(self, message, timestamp=None):
336333
"""
337334
Write event
338335
"""
339-
if self._disabled:
336+
if self._mode == 'disabled':
340337
return True
341338

342339
if not self._name:
@@ -373,7 +370,7 @@ def log_metrics(self, metrics, step=None, time=None, timestamp=None):
373370
"""
374371
Write metrics
375372
"""
376-
if self._disabled:
373+
if self._mode == 'disabled':
377374
return True
378375

379376
if not self._name:
@@ -424,7 +421,7 @@ def save(self, filename, category, filetype=None, preserve_path=False):
424421
"""
425422
Upload file
426423
"""
427-
if self._disabled:
424+
if self._mode == 'disabled':
428425
return True
429426

430427
if not self._name:
@@ -483,7 +480,7 @@ def save_directory(self, directory, category, filetype=None, preserve_path=False
483480
"""
484481
Upload a whole directory
485482
"""
486-
if self._disabled:
483+
if self._mode == 'disabled':
487484
return True
488485

489486
if not self._name:
@@ -518,7 +515,7 @@ def save_all(self, items, category, filetype=None, preserve_path=False):
518515
"""
519516
Save the list of files and/or directories
520517
"""
521-
if self._disabled:
518+
if self._mode == 'disabled':
522519
return True
523520

524521
for item in items:
@@ -533,7 +530,7 @@ def set_status(self, status):
533530
"""
534531
Set run status
535532
"""
536-
if self._disabled:
533+
if self._mode == 'disabled':
537534
return True
538535

539536
if not self._name:
@@ -559,7 +556,7 @@ def close(self):
559556
"""
560557
Close the run
561558
"""
562-
if self._disabled:
559+
if self._mode == 'disabled':
563560
return True
564561

565562
if not self._name:
@@ -576,7 +573,7 @@ def set_folder_details(self, path, metadata={}, tags=[], description=None):
576573
"""
577574
Add metadata to the specified folder
578575
"""
579-
if self._disabled:
576+
if self._mode == 'disabled':
580577
return True
581578

582579
if not self._name:
@@ -626,7 +623,7 @@ def add_alert(self,
626623
"""
627624
Creates an alert with the specified name (if it doesn't exist) and applies it to the current run
628625
"""
629-
if self._disabled:
626+
if self._mode == 'disabled':
630627
return True
631628

632629
if not self._name:

simvue/simvue.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from .remote import Remote
22
from .offline import Offline
33

4-
def Simvue(name, offline=False, suppress_errors=False):
5-
if offline:
4+
def Simvue(name, mode, suppress_errors=False):
5+
if mode == 'offline':
66
return Offline(name, suppress_errors=False)
77
else:
88
return Remote(name, suppress_errors=False)

simvue/worker.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
MAX_BUFFER_SEND = 5000
1414

1515
class Worker(threading.Thread):
16-
def __init__(self, metrics_queue, events_queue, name, url, headers, offline=False):
16+
def __init__(self, metrics_queue, events_queue, name, url, headers, mode):
1717
threading.Thread.__init__(self)
1818
self._parent_thread = threading.currentThread()
1919
self._metrics_queue = metrics_queue
@@ -23,15 +23,15 @@ def __init__(self, metrics_queue, events_queue, name, url, headers, offline=Fals
2323
self._headers = headers
2424
self._headers_mp = headers.copy()
2525
self._headers_mp['Content-Type'] = 'application/msgpack'
26-
self._offline = offline
26+
self._mode = mode
2727
self._directory = os.path.join(get_offline_directory(), get_directory_name(name))
2828

2929
@retry(wait=wait_exponential(multiplier=1, min=4, max=10), stop=stop_after_attempt(5))
3030
def heartbeat(self):
3131
"""
3232
Send a heartbeat, with retries
3333
"""
34-
if not self._offline:
34+
if mode == 'online':
3535
response = requests.put(f"{self._url}/api/runs/heartbeat",
3636
headers=self._headers,
3737
json={'name': self._name})
@@ -44,7 +44,7 @@ def post(self, endpoint, data):
4444
"""
4545
Send the supplied data, with retries
4646
"""
47-
if not self._offline:
47+
if mode == 'online':
4848
response = requests.post(f"{self._url}/api/{endpoint}",
4949
headers=self._headers_mp,
5050
data=data)

0 commit comments

Comments
 (0)