mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
SyncServer - change title of window
This commit is contained in:
parent
d8d241ac5a
commit
8b570c7c82
3 changed files with 28 additions and 1 deletions
|
|
@ -232,6 +232,7 @@ class SyncServerThread(threading.Thread):
|
|||
self.loop = None
|
||||
self.is_running = False
|
||||
self.executor = concurrent.futures.ThreadPoolExecutor(max_workers=3)
|
||||
self.timer = None
|
||||
|
||||
def run(self):
|
||||
self.is_running = True
|
||||
|
|
@ -384,7 +385,11 @@ class SyncServerThread(threading.Thread):
|
|||
|
||||
duration = time.time() - start_time
|
||||
log.debug("One loop took {:.2f}s".format(duration))
|
||||
await asyncio.sleep(self.module.get_loop_delay(collection))
|
||||
|
||||
delay = self.module.get_loop_delay(collection)
|
||||
log.debug("Waiting for {} seconds to new loop".format(delay))
|
||||
self.timer = asyncio.create_task(self.run_timer(delay))
|
||||
await asyncio.gather(self.timer)
|
||||
|
||||
except ConnectionResetError:
|
||||
log.warning("ConnectionResetError in sync loop, "
|
||||
|
|
@ -423,6 +428,17 @@ class SyncServerThread(threading.Thread):
|
|||
await asyncio.sleep(0.07)
|
||||
self.loop.stop()
|
||||
|
||||
async def run_timer(self, delay):
|
||||
"""Wait for 'delay' seconds to start next loop"""
|
||||
await asyncio.sleep(delay)
|
||||
|
||||
def reset_timer(self):
|
||||
"""Called when waiting for next loop should be skipped"""
|
||||
log.debug("Resetting timer")
|
||||
if self.timer:
|
||||
self.timer.cancel()
|
||||
self.timer = None
|
||||
|
||||
def _working_sites(self, collection):
|
||||
if self.module.is_project_paused(collection):
|
||||
log.debug("Both sites same, skipping")
|
||||
|
|
|
|||
|
|
@ -401,6 +401,14 @@ class SyncServerModule(PypeModule, ITrayModule):
|
|||
|
||||
return remote_site
|
||||
|
||||
def reset_timer(self):
|
||||
"""
|
||||
Called when waiting for next loop should be skipped.
|
||||
|
||||
In case of user's involvement (reset site), start that right away.
|
||||
"""
|
||||
self.sync_server_thread.reset_timer()
|
||||
|
||||
""" End of Public API """
|
||||
|
||||
def get_local_file_path(self, collection, site_name, file_path):
|
||||
|
|
|
|||
|
|
@ -316,6 +316,7 @@ class _SyncRepresentationWidget(QtWidgets.QWidget):
|
|||
representation_id))
|
||||
except ValueError as exp:
|
||||
self.message_generated.emit("Error {}".format(str(exp)))
|
||||
self.sync_server.reset_timer()
|
||||
|
||||
def _remove_site(self, selected_ids=None, site_name=None):
|
||||
"""
|
||||
|
|
@ -343,6 +344,7 @@ class _SyncRepresentationWidget(QtWidgets.QWidget):
|
|||
|
||||
self.model.refresh(
|
||||
load_records=self.model._rec_loaded)
|
||||
self.sync_server.reset_timer()
|
||||
|
||||
def _reset_site(self, selected_ids=None, site_name=None):
|
||||
"""
|
||||
|
|
@ -368,6 +370,7 @@ class _SyncRepresentationWidget(QtWidgets.QWidget):
|
|||
|
||||
self.model.refresh(
|
||||
load_records=self.model._rec_loaded)
|
||||
self.sync_server.reset_timer()
|
||||
|
||||
def _open_in_explorer(self, selected_ids=None, site_name=None):
|
||||
log.debug("Open in Explorer {}:{}".format(selected_ids, site_name))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue