mirror of
https://github.com/tuna/tunasync.git
synced 2025-06-15 05:52:43 +00:00
fail retry
This commit is contained in:
parent
b4bf5a6b97
commit
f88b89e873
@ -2,3 +2,4 @@
|
|||||||
echo $TUNASYNC_LOCAL_DIR
|
echo $TUNASYNC_LOCAL_DIR
|
||||||
echo $TUNASYNC_LOG_FILE
|
echo $TUNASYNC_LOG_FILE
|
||||||
sleep 5
|
sleep 5
|
||||||
|
exit 1
|
||||||
|
@ -7,7 +7,7 @@ import signal
|
|||||||
import Queue
|
import Queue
|
||||||
|
|
||||||
|
|
||||||
def run_job(sema, child_q, manager_q, provider):
|
def run_job(sema, child_q, manager_q, provider, **settings):
|
||||||
aquired = False
|
aquired = False
|
||||||
setproctitle("tunasync-{}".format(provider.name))
|
setproctitle("tunasync-{}".format(provider.name))
|
||||||
|
|
||||||
@ -20,24 +20,29 @@ def run_job(sema, child_q, manager_q, provider):
|
|||||||
|
|
||||||
signal.signal(signal.SIGTERM, before_quit)
|
signal.signal(signal.SIGTERM, before_quit)
|
||||||
|
|
||||||
|
max_retry = settings.get("max_retry", 1)
|
||||||
while 1:
|
while 1:
|
||||||
try:
|
try:
|
||||||
sema.acquire(True)
|
sema.acquire(True)
|
||||||
except:
|
except:
|
||||||
break
|
break
|
||||||
aquired = True
|
aquired = True
|
||||||
print("start syncing {}".format(provider.name))
|
|
||||||
|
|
||||||
for hook in provider.hooks:
|
for hook in provider.hooks:
|
||||||
hook.before_job(name=provider.name)
|
hook.before_job(name=provider.name)
|
||||||
|
|
||||||
provider.run()
|
for retry in range(max_retry):
|
||||||
|
print("start syncing {}, retry: {}".format(provider.name, retry))
|
||||||
|
provider.run()
|
||||||
|
|
||||||
status = "success"
|
status = "success"
|
||||||
try:
|
try:
|
||||||
provider.wait()
|
provider.wait()
|
||||||
except sh.ErrorReturnCode:
|
except sh.ErrorReturnCode:
|
||||||
status = "fail"
|
status = "fail"
|
||||||
|
|
||||||
|
if status == "success":
|
||||||
|
break
|
||||||
|
|
||||||
for hook in provider.hooks[::-1]:
|
for hook in provider.hooks[::-1]:
|
||||||
try:
|
try:
|
||||||
|
@ -213,7 +213,8 @@ class TUNASync(object):
|
|||||||
child_queue = Queue()
|
child_queue = Queue()
|
||||||
p = Process(
|
p = Process(
|
||||||
target=jobs.run_job,
|
target=jobs.run_job,
|
||||||
args=(self.semaphore, child_queue, self.channel, provider, )
|
args=(self.semaphore, child_queue, self.channel, provider, ),
|
||||||
|
kwargs={'max_retry': self._settings['global']['max_retry']}
|
||||||
)
|
)
|
||||||
p.start()
|
p.start()
|
||||||
self.processes[name] = (child_queue, p)
|
self.processes[name] = (child_queue, p)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user