fix: swallow Serialization failure

We can swallow the serialization exception because there is a scheduled
task that will update these later anyway.

Fixes #2241
This commit is contained in:
Nigel 2021-12-05 09:18:55 -07:00
parent 825b1473b2
commit a9f584cb65
No known key found for this signature in database
GPG Key ID: 3AB9572E33E501E6

View File

@ -2,6 +2,7 @@ from common.settings import currency_code_default, currency_codes
from urllib.error import HTTPError, URLError
from djmoney.contrib.exchange.backends.base import SimpleExchangeBackend
from django.db.utils import OperationalError
class InvenTreeExchange(SimpleExchangeBackend):
@ -32,3 +33,12 @@ class InvenTreeExchange(SimpleExchangeBackend):
# catch connection errors
except (HTTPError, URLError):
print('Encountered connection error while updating')
except OperationalError as e:
if 'SerializationFailure' in e.__cause__.__class__.__name__:
print('Serialization Failure while updating exchange rates')
# We are just going to swallow this exception because the
# exchange rates will be updated later by the scheduled task
else:
# Other operational errors probably are still show stoppers
# so reraise them so that the log contains the stacktrace
raise