in rabbitmq/VidispineMessageProcessor.py [0:0]
def handle_failed_job(import_job):
"""
If the job failed, request a resend
:param import_job: ImportJob model instance representing the failed job
:return:
"""
from atomresponder.media_atom import request_atom_resend
from kinesisresponder.sentry import inform_sentry_exception
max_retries = getattr(settings, "MAX_IMPORT_RETRIES", 10)
logger.info("{0} ({1}): failed on attempt {2}".format(import_job.item_id, import_job.atom_id, import_job.retry_number))
if import_job.retry_number > max_retries:
logger.error("{0}: Have already retried {1} times, giving up".format(import_job.atom_id, import_job.retry_number))
import_job.completed_at = datetime.now(tz=pytz.timezone(time_zone))
import_job.status = "FAILED_TOTAL"
import_job.processing = False
import_job.save()
return
import_job.retry_number += 1
import_job.save()
try:
logger.info("Requesting resend of atom {0}".format(import_job.atom_id))
request_atom_resend(import_job.atom_id, settings.ATOM_TOOL_HOST, settings.ATOM_TOOL_SECRET)
logger.info("Resend of atom {0} done".format(import_job.atom_id))
except Exception as e:
logger.error(e)
inform_sentry_exception()