diff --git a/job_runner.py b/job_runner.py index 6be5036b..6df7bc4b 100644 --- a/job_runner.py +++ b/job_runner.py @@ -8,6 +8,7 @@ from typing import List, Optional import arrow import newrelic.agent +from sqlalchemy.exc import IntegrityError from sqlalchemy.orm import Query from sqlalchemy.orm.exc import ObjectDeletedError from sqlalchemy.sql.expression import or_, and_ @@ -403,4 +404,8 @@ def execute(): if __name__ == "__main__": send_version_event("job_runner") while True: - execute() + try: + execute() + except IntegrityError: + Session.rollback() + Session.close()