Skip to content

Commit 50ce6a1

Browse files
committed
Functionality to abandon multigrid controller (i.e. stop all threads)
1 parent e1fa429 commit 50ce6a1

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/murfey/client/multigrid_control.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,14 @@ async def dormancy_check(self):
122122
log.warning(f"Could not delete database data for {self.session_id}")
123123
self.dormant = True
124124

125+
def abandon(self):
126+
for a in self.analysers.values():
127+
a.request_stop()
128+
for w in self._environment.watchers.values():
129+
w.request_stop()
130+
for p in self.rsync_processes.values():
131+
p.request_stop()
132+
125133
def finalise(self):
126134
for a in self.analysers.values():
127135
a.request_stop()

src/murfey/client/rsync.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,10 @@ def stop(self):
182182
self.thread.join()
183183
logger.debug("RSync thread stop completed")
184184

185+
def request_stop(self):
186+
self._stopping = True
187+
self._halt_thread = True
188+
185189
def finalise(
186190
self,
187191
thread: bool = True,

0 commit comments

Comments
 (0)