WIP code migration from Celery to RQ

This commit is contained in:
Valmik Jangla 2016-03-17 18:08:01 +05:30 committed by Anand Doshi
parent 5d0e8dee11
commit 6842f2e75c
2 changed files with 4 additions and 16 deletions

View File

@ -9,7 +9,8 @@ from frappe import throw, _
from frappe.model.document import Document
from frappe.email.bulk import check_bulk_limit
from frappe.utils.verified_command import get_signed_params, verify_request
import erpnext.tasks
from frappe.utils.background_jobs import enqueue
from erpnext.tasks import send_newsletter
from erpnext.crm.doctype.newsletter_list.newsletter_list import add_subscribers
class Newsletter(Document):
@ -32,11 +33,8 @@ class Newsletter(Document):
self.recipients = self.get_recipients()
if getattr(frappe.local, "is_ajax", False):
# to avoid request timed out!
self.validate_send()
# hack! event="bulk_long" to queue in longjob queue
erpnext.tasks.send_newsletter.delay(frappe.local.site, self.name, event="bulk_long")
enqueue(send_newsletter, newsletter=self.name)
else:
self.send_bulk()

View File

@ -3,23 +3,16 @@
from __future__ import unicode_literals
import frappe
from frappe.celery_app import celery_task, task_logger
from frappe.utils.scheduler import log
@celery_task()
def send_newsletter(site, newsletter, event):
# hack! pass event="bulk_long" to queue in longjob queue
def send_newsletter(newsletter):
try:
frappe.connect(site=site)
doc = frappe.get_doc("Newsletter", newsletter)
doc.send_bulk()
except:
frappe.db.rollback()
task_logger.error(site)
task_logger.error(frappe.get_traceback())
# wasn't able to send emails :(
doc.db_set("email_sent", 0)
frappe.db.commit()
@ -30,6 +23,3 @@ def send_newsletter(site, newsletter, event):
else:
frappe.db.commit()
finally:
frappe.destroy()