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:
Chris King
2025-02-16 01:51:27 -08:00
parent b802233efa
commit 5d92f387fa

View File

@@ -511,20 +511,25 @@ class StashPluginHelper(StashInterface):
if self._mergeMetadata == None:
self.initMergeMetadata(excludeMergeTags)
errMsg = None
stopRetry = False
for i in range(0, retryCount):
try:
if errMsg != None:
self.Warn(errMsg)
if type(SrcData) is int:
SrcData = self.find_scene(SrcData)
DestData = self.find_scene(DestData)
return self._mergeMetadata.merge(SrcData, DestData)
except (requests.exceptions.ConnectionError, ConnectionResetError):
except (requests.exceptions.ConnectionError, ConnectionResetError) as e:
tb = traceback.format_exc()
errMsg = f"Exception calling [mergeMetadata]. Will retry; count({i}); Error: {e}\nTraceBack={tb}"
except Exception as e:
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)
def getUpdateProgressBarIter(self, qtyResults):