Remove connection creation from backend
This commit is contained in:
parent
105220a2ce
commit
f7956bc5f4
@ -1 +1 @@
|
|||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
@ -4,7 +4,6 @@ from django.utils.encoding import force_text
|
|||||||
|
|
||||||
from .logger import logger
|
from .logger import logger
|
||||||
from .tasks import send_message
|
from .tasks import send_message
|
||||||
from .utils import get_email_connection
|
|
||||||
|
|
||||||
|
|
||||||
def _get_message_recipients(email_message):
|
def _get_message_recipients(email_message):
|
||||||
@ -20,13 +19,12 @@ class EmailBackend(BaseEmailBackend):
|
|||||||
|
|
||||||
def send_messages(self, email_messages):
|
def send_messages(self, email_messages):
|
||||||
num_sent = 0
|
num_sent = 0
|
||||||
connection = get_email_connection()
|
|
||||||
|
|
||||||
for email in email_messages:
|
for email in email_messages:
|
||||||
try:
|
try:
|
||||||
send_message.apply_async([email, connection])
|
send_message.apply_async([email, ])
|
||||||
num_sent += 1
|
num_sent += 1
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error("cannot send message %s: %r" % (_get_message_recipients(email), e))
|
logger.error("cannot send message to '%s': %r" % (_get_message_recipients(email), e))
|
||||||
|
|
||||||
return num_sent
|
return num_sent
|
||||||
|
@ -16,7 +16,7 @@ logger = get_task_logger(__name__)
|
|||||||
|
|
||||||
@celery.task(bind=True, queue=TASK_QUEUE_NAME, acks_late=True,
|
@celery.task(bind=True, queue=TASK_QUEUE_NAME, acks_late=True,
|
||||||
default_retry_delay=20, autoretry_for=(EmailTransportException,), retry_kwargs={'max_retries': 5})
|
default_retry_delay=20, autoretry_for=(EmailTransportException,), retry_kwargs={'max_retries': 5})
|
||||||
def send_message(self, email, connection=None):
|
def send_message(self, email):
|
||||||
logger.debug('task started')
|
logger.debug('task started')
|
||||||
|
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
@ -25,8 +25,7 @@ def send_message(self, email, connection=None):
|
|||||||
raise Exception('Invalid message class, only django.core.mail.EmailMessage is supported')
|
raise Exception('Invalid message class, only django.core.mail.EmailMessage is supported')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if connection is None:
|
connection = get_email_connection()
|
||||||
connection = get_email_connection()
|
|
||||||
|
|
||||||
email.connection = connection
|
email.connection = connection
|
||||||
email.send()
|
email.send()
|
||||||
@ -41,4 +40,4 @@ def send_message(self, email, connection=None):
|
|||||||
raise
|
raise
|
||||||
|
|
||||||
elapsed_time = time.time() - start_time
|
elapsed_time = time.time() - start_time
|
||||||
logger.warning("message sent, elasped time %s" % elapsed_time)
|
logger.warning("message sent, elapsed time %s" % elapsed_time)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user