Add task
This commit is contained in:
parent
4c649af372
commit
3b42bb9af3
@ -1,9 +1,14 @@
|
||||
import logging
|
||||
import sys
|
||||
|
||||
from django.utils.module_loading import import_string
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
hdlr = logging.StreamHandler(sys.stderr)
|
||||
formatter = logging.Formatter('%(message)s')
|
||||
hdlr.setFormatter(formatter)
|
||||
logger.addHandler(hdlr)
|
||||
logger.setLevel(logging.INFO)
|
||||
|
||||
# celery app
|
||||
celery_app = import_string('project.celery_app.app')
|
||||
|
@ -1,10 +1,18 @@
|
||||
from django.core.mail.backends.base import BaseEmailBackend
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.module_loading import import_string
|
||||
|
||||
from . import logger
|
||||
from .settings import EMAIL_SEND_TASK
|
||||
|
||||
|
||||
def _get_message_recipients(email_message):
|
||||
message_recipients = getattr(email_message, 'to', None)
|
||||
if not isinstance(message_recipients, list):
|
||||
return 'unknown'
|
||||
return ', '.join(map(force_text, message_recipients))
|
||||
|
||||
|
||||
class EmailBackend(BaseEmailBackend):
|
||||
task = None
|
||||
|
||||
@ -15,7 +23,10 @@ class EmailBackend(BaseEmailBackend):
|
||||
def send_messages(self, email_messages):
|
||||
num_sent = 0
|
||||
for email in email_messages:
|
||||
logger.info(email)
|
||||
logger.info(self.task)
|
||||
num_sent += 1
|
||||
try:
|
||||
self.task.apply_async(email)
|
||||
num_sent += 1
|
||||
except Exception as e:
|
||||
logger.error("cannot send message %s: %r" % (_get_message_recipients(email), e))
|
||||
|
||||
return num_sent
|
||||
|
@ -1,7 +1,8 @@
|
||||
from . import logger
|
||||
from . import logger, celery_app as app
|
||||
from .settings import EMAIL_BACKEND
|
||||
|
||||
|
||||
@app.task()
|
||||
def send_message():
|
||||
logger.info(EMAIL_BACKEND)
|
||||
logger.info('sent')
|
||||
|
Loading…
x
Reference in New Issue
Block a user