mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-02 11:49:10 +00:00
WIP code migration from Celery to RQ
This commit is contained in:
committed by
Anand Doshi
parent
5d0e8dee11
commit
6842f2e75c
@@ -9,7 +9,8 @@ from frappe import throw, _
|
|||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
from frappe.email.bulk import check_bulk_limit
|
from frappe.email.bulk import check_bulk_limit
|
||||||
from frappe.utils.verified_command import get_signed_params, verify_request
|
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
|
from erpnext.crm.doctype.newsletter_list.newsletter_list import add_subscribers
|
||||||
|
|
||||||
class Newsletter(Document):
|
class Newsletter(Document):
|
||||||
@@ -32,11 +33,8 @@ class Newsletter(Document):
|
|||||||
self.recipients = self.get_recipients()
|
self.recipients = self.get_recipients()
|
||||||
|
|
||||||
if getattr(frappe.local, "is_ajax", False):
|
if getattr(frappe.local, "is_ajax", False):
|
||||||
# to avoid request timed out!
|
|
||||||
self.validate_send()
|
self.validate_send()
|
||||||
|
enqueue(send_newsletter, newsletter=self.name)
|
||||||
# hack! event="bulk_long" to queue in longjob queue
|
|
||||||
erpnext.tasks.send_newsletter.delay(frappe.local.site, self.name, event="bulk_long")
|
|
||||||
else:
|
else:
|
||||||
self.send_bulk()
|
self.send_bulk()
|
||||||
|
|
||||||
|
|||||||
@@ -3,23 +3,16 @@
|
|||||||
|
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.celery_app import celery_task, task_logger
|
|
||||||
from frappe.utils.scheduler import log
|
from frappe.utils.scheduler import log
|
||||||
|
|
||||||
@celery_task()
|
def send_newsletter(newsletter):
|
||||||
def send_newsletter(site, newsletter, event):
|
|
||||||
# hack! pass event="bulk_long" to queue in longjob queue
|
|
||||||
try:
|
try:
|
||||||
frappe.connect(site=site)
|
|
||||||
doc = frappe.get_doc("Newsletter", newsletter)
|
doc = frappe.get_doc("Newsletter", newsletter)
|
||||||
doc.send_bulk()
|
doc.send_bulk()
|
||||||
|
|
||||||
except:
|
except:
|
||||||
frappe.db.rollback()
|
frappe.db.rollback()
|
||||||
|
|
||||||
task_logger.error(site)
|
|
||||||
task_logger.error(frappe.get_traceback())
|
|
||||||
|
|
||||||
# wasn't able to send emails :(
|
# wasn't able to send emails :(
|
||||||
doc.db_set("email_sent", 0)
|
doc.db_set("email_sent", 0)
|
||||||
frappe.db.commit()
|
frappe.db.commit()
|
||||||
@@ -30,6 +23,3 @@ def send_newsletter(site, newsletter, event):
|
|||||||
|
|
||||||
else:
|
else:
|
||||||
frappe.db.commit()
|
frappe.db.commit()
|
||||||
|
|
||||||
finally:
|
|
||||||
frappe.destroy()
|
|
||||||
|
|||||||
Reference in New Issue
Block a user