1
0
镜像自地址 https://github.com/tuna/tunasync.git 已同步 2025-12-06 14:36:47 +00:00

safely restart job

这个提交包含在:
bigeagle
2016-03-24 20:26:32 +08:00
父节点 8fd57c3845
当前提交 cba5e6d499

查看文件

@@ -126,13 +126,13 @@ class TUNASync(object):
def reload_mirrors(self, signum, frame): def reload_mirrors(self, signum, frame):
try: try:
return self._reload_mirrors(signum, frame, force=False) return self._reload_mirrors(signum, frame, force=False)
except Exception, e: except Exception as e:
print(e) print(e)
def reload_mirrors_force(self, signum, frame): def reload_mirrors_force(self, signum, frame):
try: try:
return self._reload_mirrors(signum, frame, force=True) return self._reload_mirrors(signum, frame, force=True)
except Exception, e: except Exception as e:
print(e) print(e)
def _reload_mirrors(self, signum, frame, force=False): def _reload_mirrors(self, signum, frame, force=False):
@@ -202,8 +202,13 @@ class TUNASync(object):
def handle_cmd(self, cmd, mirror_name, kwargs): def handle_cmd(self, cmd, mirror_name, kwargs):
if cmd == "restart": if cmd == "restart":
_, p = self.processes[mirror_name] if mirror_name not in self.providers:
p.terminate() res = "Invalid job: {}".format(mirror_name)
return res
if mirror_name in self.processes:
_, p = self.processes[mirror_name]
p.terminate()
self.providers[mirror_name].set_delay(0) self.providers[mirror_name].set_delay(0)
self.run_provider(mirror_name) self.run_provider(mirror_name)
res = "Restarted Job: {}".format(mirror_name) res = "Restarted Job: {}".format(mirror_name)
@@ -259,7 +264,7 @@ class TUNASync(object):
lfiles_set = set(lfiles) lfiles_set = set(lfiles)
# sort to get the newest 10 files # sort to get the newest 10 files
lfiles_ts = sorted( lfiles_ts = sorted(
[(os.path.getmtime(lfile), lfile) for lfile in lfiles], [(os.path.getmtime(lfile), lfile) for lfile in lfiles_set],
key=lambda x: x[0], key=lambda x: x[0],
reverse=True, reverse=True,
) )