mirror of
https://github.com/tuna/tunasync.git
synced 2025-06-15 05:52:43 +00:00
job exception handling
This commit is contained in:
parent
45b2046dfb
commit
54e6d5b34a
@ -28,28 +28,35 @@ def run_job(sema, child_q, manager_q, provider, **settings):
|
|||||||
break
|
break
|
||||||
aquired = True
|
aquired = True
|
||||||
|
|
||||||
for hook in provider.hooks:
|
status = "unkown"
|
||||||
hook.before_job(name=provider.name)
|
try:
|
||||||
|
for hook in provider.hooks:
|
||||||
|
hook.before_job(name=provider.name)
|
||||||
|
except Exception:
|
||||||
|
import traceback
|
||||||
|
traceback.print_exc()
|
||||||
|
status = "fail"
|
||||||
|
else:
|
||||||
|
for retry in range(max_retry):
|
||||||
|
print("start syncing {}, retry: {}".format(provider.name, retry))
|
||||||
|
provider.run()
|
||||||
|
|
||||||
for retry in range(max_retry):
|
status = "success"
|
||||||
print("start syncing {}, retry: {}".format(provider.name, retry))
|
try:
|
||||||
provider.run()
|
provider.wait()
|
||||||
|
except sh.ErrorReturnCode:
|
||||||
|
status = "fail"
|
||||||
|
|
||||||
status = "success"
|
if status == "success":
|
||||||
try:
|
break
|
||||||
provider.wait()
|
|
||||||
except sh.ErrorReturnCode:
|
|
||||||
status = "fail"
|
|
||||||
|
|
||||||
if status == "success":
|
try:
|
||||||
break
|
for hook in provider.hooks[::-1]:
|
||||||
|
|
||||||
for hook in provider.hooks[::-1]:
|
|
||||||
try:
|
|
||||||
hook.after_job(name=provider.name, status=status)
|
hook.after_job(name=provider.name, status=status)
|
||||||
except Exception:
|
except Exception:
|
||||||
import traceback
|
import traceback
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
status = "fail"
|
||||||
|
|
||||||
sema.release()
|
sema.release()
|
||||||
aquired = False
|
aquired = False
|
||||||
|
Loading…
x
Reference in New Issue
Block a user