def _process(self, *args, **kwargs):
output = u"%s\n" % self.job_data
job_url = reverse('fwjob-detail', kwargs={'pk': self.pk})
domain = Site.objects.all()[0].domain
for command in self.job_data["commands"]:
output += command + "\n"
p = subprocess.Popen(command.split(), stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
output += p.communicate()[0].decode("utf-8")
if p.returncode != 0:
email_msg = "Cook failed for job http://%s%s" % (domain, job_url)
mail_managers("[Chef] Cook failed", email_msg, fail_silently=True)
send_mail("[Chef] Cook failed", email_msg, settings.DEFAULT_FROM_EMAIL,
[self.user.email], fail_silently=True)
self.status = "FAILED"
self.build_log = output
self.save()
return
email_msg = "Cook finished: http://%s%s" % (domain, job_url)
send_mail("[Chef] Cook finished", email_msg, settings.DEFAULT_FROM_EMAIL,
[self.user.email], fail_silently=True)
self.status = "FINISHED"
self.save()
评论列表
文章目录