Create send_notification function

This commit is contained in:
Patrick Jentsch 2020-11-19 09:41:22 +01:00
parent ddee38e2a5
commit ba7789224b
2 changed files with 18 additions and 17 deletions

View File

@ -140,7 +140,8 @@ class User(UserMixin, db.Model):
@property
def path(self):
return os.path.join(current_app.config['NOPAQUE_DATA_DIR'], str(self.id))
return os.path.join(current_app.config['NOPAQUE_DATA_DIR'],
str(self.id))
@property
def password(self):

View File

@ -41,13 +41,7 @@ def create_job_service(job):
else:
job.status = 'queued'
finally:
msg = create_message(
job.creator.email,
'Status update for your Job "{}"'.format(job.title),
'tasks/email/notification',
job=job
)
mail.send(msg)
send_notification(job)
def checkout_job_service(job):
@ -85,8 +79,6 @@ def checkout_job_service(job):
+ 'Details: {}'.format(e))
return
else:
job.end_date = datetime.utcnow()
job.status = task_state
if task_state == 'complete':
job_results_dir = os.path.join(job.path, 'output')
job_results = filter(lambda x: x.endswith('.zip'),
@ -94,14 +86,10 @@ def checkout_job_service(job):
for job_result in job_results:
job_result = JobResult(filename=job_result, job=job)
db.session.add(job_result)
job.end_date = datetime.utcnow()
job.status = task_state
finally:
msg = create_message(
job.creator.email,
'Status update for your Job "{}"'.format(job.title),
'tasks/email/notification',
job=job
)
mail.send(msg)
send_notification(job)
def remove_job_service(job):
@ -134,3 +122,15 @@ def remove_job_service(job):
logging.error('Remove "{}" service raised '.format(service_name) # noqa
+ '[docker-APIError] The server returned an error. ' # noqa
+ 'Details: {}'.format(e))
def send_notification(job):
if job.creator.setting_job_status_mail_notifications == 'none':
return
if (job.creator.setting_job_status_mail_notifications == 'end'
and job.status not in ['complete', 'failed']):
return
msg = create_message(job.creator.email,
'Status update for your Job "{}"'.format(job.title),
'tasks/email/notification', job=job)
mail.send(msg)