Anand Doshi | de85a3a | 2014-07-22 19:48:26 +0530 | [diff] [blame] | 1 | # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors |
| 2 | # MIT License. See license.txt |
| 3 | |
| 4 | from __future__ import unicode_literals |
| 5 | import frappe |
| 6 | from frappe.celery_app import celery_task, task_logger |
| 7 | |
| 8 | @celery_task() |
| 9 | def send_newsletter(site, newsletter): |
| 10 | try: |
| 11 | frappe.connect(site=site) |
| 12 | doc = frappe.get_doc("Newsletter", newsletter) |
| 13 | doc.send_bulk() |
| 14 | |
| 15 | except: |
| 16 | frappe.db.rollback() |
| 17 | task_logger.warn(frappe.get_traceback()) |
| 18 | |
| 19 | # wasn't able to send emails :( |
| 20 | doc.db_set("email_sent", 0) |
| 21 | frappe.db.commit() |
| 22 | |
| 23 | raise |
| 24 | |
| 25 | else: |
| 26 | frappe.db.commit() |
| 27 | |
| 28 | finally: |
| 29 | frappe.destroy() |