forked from Github/Axter-Stash
Write error message before waiting for retry in mergeMetadata
Only retry merging if there is a connection error as other errors related to data are extremely unlikely to resolve themselves after retries
This commit is contained in:
@@ -511,20 +511,25 @@ class StashPluginHelper(StashInterface):
|
|||||||
if self._mergeMetadata == None:
|
if self._mergeMetadata == None:
|
||||||
self.initMergeMetadata(excludeMergeTags)
|
self.initMergeMetadata(excludeMergeTags)
|
||||||
errMsg = None
|
errMsg = None
|
||||||
|
stopRetry = False
|
||||||
for i in range(0, retryCount):
|
for i in range(0, retryCount):
|
||||||
try:
|
try:
|
||||||
if errMsg != None:
|
|
||||||
self.Warn(errMsg)
|
|
||||||
if type(SrcData) is int:
|
if type(SrcData) is int:
|
||||||
SrcData = self.find_scene(SrcData)
|
SrcData = self.find_scene(SrcData)
|
||||||
DestData = self.find_scene(DestData)
|
DestData = self.find_scene(DestData)
|
||||||
return self._mergeMetadata.merge(SrcData, DestData)
|
return self._mergeMetadata.merge(SrcData, DestData)
|
||||||
except (requests.exceptions.ConnectionError, ConnectionResetError):
|
except (requests.exceptions.ConnectionError, ConnectionResetError) as e:
|
||||||
tb = traceback.format_exc()
|
tb = traceback.format_exc()
|
||||||
errMsg = f"Exception calling [mergeMetadata]. Will retry; count({i}); Error: {e}\nTraceBack={tb}"
|
errMsg = f"Exception calling [mergeMetadata]. Will retry; count({i}); Error: {e}\nTraceBack={tb}"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
tb = traceback.format_exc()
|
tb = traceback.format_exc()
|
||||||
errMsg = f"Exception calling [mergeMetadata]. Will retry; count({i}); Error: {e}\nTraceBack={tb}"
|
errMsg = f"Data Exception calling [mergeMetadata]. Will not retry; count({i}); Error: {e}\nTraceBack={tb}"
|
||||||
|
stopRetry = True
|
||||||
|
|
||||||
|
if errMsg != None:
|
||||||
|
self.Warn(errMsg)
|
||||||
|
if stopRetry:
|
||||||
|
break
|
||||||
time.sleep(sleepSecondsBetweenRetry)
|
time.sleep(sleepSecondsBetweenRetry)
|
||||||
|
|
||||||
def getUpdateProgressBarIter(self, qtyResults):
|
def getUpdateProgressBarIter(self, qtyResults):
|
||||||
|
|||||||
Reference in New Issue
Block a user