mirror of
https://gitee.com/sui-feng-cb/AzurLaneAutoScript1
synced 2026-04-10 07:17:13 +08:00
Fix: Cannot trigger reload after clearup
In scheduled restart, update function runs in task_handler thread, clearup will stop it before it trigger reload.
This commit is contained in:
@@ -183,9 +183,8 @@ class Updater(Config, Installer):
|
|||||||
with open('./reloadalas', mode='w') as f:
|
with open('./reloadalas', mode='w') as f:
|
||||||
f.writelines(names)
|
f.writelines(names)
|
||||||
from module.webui.app import clearup
|
from module.webui.app import clearup
|
||||||
|
self._trigger_reload(2)
|
||||||
clearup()
|
clearup()
|
||||||
time.sleep(1.25)
|
|
||||||
self._trigger_reload()
|
|
||||||
else:
|
else:
|
||||||
self.state = 'failed'
|
self.state = 'failed'
|
||||||
logger.warning("Update failed")
|
logger.warning("Update failed")
|
||||||
@@ -194,10 +193,14 @@ class Updater(Config, Installer):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _trigger_reload():
|
def _trigger_reload(delay=2):
|
||||||
with open('./reloadflag', mode='w'):
|
def trigger():
|
||||||
# app ended here and uvicorn will restart whole app
|
with open('./reloadflag', mode='w'):
|
||||||
pass
|
# app ended here and uvicorn will restart whole app
|
||||||
|
pass
|
||||||
|
timer = threading.Timer(delay, trigger)
|
||||||
|
timer.daemon = True
|
||||||
|
timer.start()
|
||||||
|
|
||||||
def schedule_restart(self) -> Generator:
|
def schedule_restart(self) -> Generator:
|
||||||
th: TaskHandler
|
th: TaskHandler
|
||||||
|
|||||||
Reference in New Issue
Block a user