blob: cef0ac9d1510d75b6cbddf7491d9209c6d71775e [file] [log] [blame]
Anand Doshi885e0742015-03-03 14:55:30 +05301# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
Anand Doshide85a3a2014-07-22 19:48:26 +05302# MIT License. See license.txt
3
4from __future__ import unicode_literals
5import frappe
6from frappe.celery_app import celery_task, task_logger
Anand Doshi76568f02015-12-24 15:13:54 +05307from frappe.utils.scheduler import log
Anand Doshide85a3a2014-07-22 19:48:26 +05308
9@celery_task()
Anand Doshi46256cd2014-08-27 12:23:52 +053010def send_newsletter(site, newsletter, event):
11 # hack! pass event="bulk_long" to queue in longjob queue
Anand Doshide85a3a2014-07-22 19:48:26 +053012 try:
13 frappe.connect(site=site)
14 doc = frappe.get_doc("Newsletter", newsletter)
15 doc.send_bulk()
16
17 except:
18 frappe.db.rollback()
Anand Doshi76568f02015-12-24 15:13:54 +053019
20 task_logger.error(site)
21 task_logger.error(frappe.get_traceback())
Anand Doshide85a3a2014-07-22 19:48:26 +053022
23 # wasn't able to send emails :(
24 doc.db_set("email_sent", 0)
25 frappe.db.commit()
26
Anand Doshi76568f02015-12-24 15:13:54 +053027 log("send_newsletter")
28
Anand Doshide85a3a2014-07-22 19:48:26 +053029 raise
30
31 else:
32 frappe.db.commit()
33
34 finally:
35 frappe.destroy()