Skip to content
Snippets Groups Projects
Commit 896c5677 authored by Jorrit Schaap's avatar Jorrit Schaap
Browse files

Task #10339: mail subject line

parent dfce9b95
No related branches found
No related tags found
No related merge requests found
......@@ -662,7 +662,10 @@ class IngestJobManager:
try:
with self.__jobs_for_transfer_queue_peeker:
num_scheduled = self.__jobs_for_transfer_queue_peeker.nr_of_messages_in_queue(0.01)
return (num_scheduled == 0)
if num_scheduled == 0:
scheduled_jads = self.getJobAdminDicts(status=JobScheduled)
return len(scheduled_jads) < 10
return False
except Exception as e:
logger.error('canProduceNextJob: %s', e)
return True
......@@ -994,8 +997,7 @@ Total Files: %(total)i
finished_group_jads = self.getJobAdminDicts(job_group_id=job_group_id, status=JobProduced)
failed_group_jads = self.getJobAdminDicts(job_group_id=job_group_id, status=JobFailed)
removed_group_jads = self.getJobAdminDicts(job_group_id=job_group_id, status=JobRemoved)
success = not (failed_group_jads or removed_group_jads)
unfinished_group_jads = failed_group_jads + removed_group_jads
done_group_jads = finished_group_jads + failed_group_jads + removed_group_jads
done_group_jobs = [jad['job'] for jad in done_group_jads]
......@@ -1013,9 +1015,10 @@ Total Files: %(total)i
if mailing_list:
#make it a csv list of addresses
mailing_list = ','.join(mailing_list)
projects = set([j['Project'] for j in done_group_jobs if 'Project' in j])
subject = "Ingest Export job %s " % (job_group_id,)
if success:
subject = "Ingest Export job %s of project %s " % (job_group_id, '/'.join(projects))
if len(unfinished_group_jads) == 0:
subject += 'finished successfully'
elif removed_group_jads :
if len(removed_group_jads) == len(done_group_jads):
......@@ -1023,7 +1026,9 @@ Total Files: %(total)i
else:
subject += 'was removed partially before transfer'
else:
subject += 'finished with errors'
subject += 'finished with errors. %d/%d (%.1f%%) dataproducts did not transfer.' % (len(unfinished_group_jads),
len(done_group_jads),
100.0*len(unfinished_group_jads)/len(done_group_jads))
if os.system('echo "%s"|mailx -s "%s" %s' % (report, subject, mailing_list)) == 0:
logger.info('sent notification email for export job %s to %s', job_group_id, mailing_list)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment