blob: 3c7acea7a96ebc09fb4500990bb1ba00dedf02c7 [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
7
8@celery_task()
Anand Doshi46256cd2014-08-27 12:23:52 +05309def send_newsletter(site, newsletter, event):
10 # hack! pass event="bulk_long" to queue in longjob queue
Anand Doshide85a3a2014-07-22 19:48:26 +053011 try:
12 frappe.connect(site=site)
13 doc = frappe.get_doc("Newsletter", newsletter)
14 doc.send_bulk()
15
16 except:
17 frappe.db.rollback()
18 task_logger.warn(frappe.get_traceback())
19
20 # wasn't able to send emails :(
21 doc.db_set("email_sent", 0)
22 frappe.db.commit()
23
24 raise
25
26 else:
27 frappe.db.commit()
28
29 finally:
30 frappe.destroy()