pmclanahan / django-celery-email Goto Github PK
View Code? Open in Web Editor NEWA Django email backend that uses a celery task for sending the email.
License: BSD 3-Clause "New" or "Revised" License
A Django email backend that uses a celery task for sending the email.
License: BSD 3-Clause "New" or "Revised" License
Project's GitHub description states compatibility with Django 1.2+, but readme indicates 1.3+. There's no way to open a PR for project metadata so I thought I'd open this issue instead.
Thanks for sharing your code!
Hi, is it possible to specify the account we want to send mail from it? Because we may need different sender accounts(but their mail hosts are same)
I mean Something similar to auth_user
auth_password
input parameters in django builtin send_mail
function
CeleryEmailBackend
ignores the fail_silently
option when enqueuing messages in send_messages()
. When the Celery message broker is down and DEBUG
is False
, this causes huge delays in requests where a server error occurs. This allows a DoS attack.
Steps to reproduce:
DEBUG
to False
in settings.py
.The response should take 1-2 seconds, depending on the configured Celery message sending retry policy (see (https://docs.celeryproject.org/en/latest/userguide/calling.html#calling-retry)).
The response takes about a minute (many times more than the expected time).
A typical Django application has several middleware classes in front of the application views. The middleware classes are chained together. To propagate the request, each middleware calls get_response()
, which translates to django.core.handlers.exception.convert_exception_to_response.inner()
. Its code is:
def inner(request):
try:
response = get_response(request)
except Exception as exc:
response = response_for_exception(request, exc)
return response
When an error occurs, it is logged inside response_for_exception()
. The default logging configuration attempts to send an error report to the website admins, and passes fail_silently
to the email backend. But when the Celery message broker is down, CeleryEmailBackend
does not suppress the exception thrown by Celery/Kombu (kombu.exceptions.OperationalError
), and the exception escapes out of response_for_exception()
. It is caught by the get_response()
call of the previous middleware, which in turn repeats the process. This retry process is repeated as many times as the number of middleware classes configured, which significantly multiplies the expected response delay.
Note: This is not caused by a Celery issue ((celery/celery#4296)). I am aware of this issue and have applied a workaround, but the problem described here still persists.
I have managed to work around this issue by wrapping CeleryEmailBackend
in the following subclass:
logger = logging.getLogger(__name__)
class CustomCeleryEmailBackend(CeleryEmailBackend):
def send_messages(self, *args, **kwargs):
try:
super().send_messages(*args, **kwargs)
except OperationalError:
if not self.fail_silently:
raise
logger.exception('Error enqueuing messages.')
A fix in the library code would be similar and quite simple - wrap calls to send_emails.delay()
in a try block, and if an OperationalError
exception is caught and fail_silently
is set, suppress the exception, possibly logging it to prevent it from being unnoticed.
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/views/decorators/http.py", line 40, in inner
return func(request, *args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/Users/victor/work/someapp/web/views/public.py", line 116, in index
raise Exception('test error')
Exception: test error
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/deprecation.py", line 94, in __call__
response = response or self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/deprecation.py", line 94, in __call__
response = response or self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/work/someapp/web/middleware/apperror.py", line 10, in __call__
return self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/deprecation.py", line 94, in __call__
response = response or self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/deprecation.py", line 94, in __call__
response = response or self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/work/someapp/web/middleware/timezone.py", line 19, in middleware
return get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/blacklist/middleware.py", line 25, in middleware
return get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/deprecation.py", line 94, in __call__
response = response or self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/deprecation.py", line 94, in __call__
response = response or self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/deprecation.py", line 94, in __call__
response = response or self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/deprecation.py", line 94, in __call__
response = response or self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/work/someapp/web/middleware/proxy.py", line 82, in middleware
return get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/deprecation.py", line 94, in __call__
response = response or self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/deprecation.py", line 94, in __call__
response = response or self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/deprecation.py", line 94, in __call__
response = response or self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 42, in __call__
return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/wsgiref/handlers.py", line 137, in run
self.result = application(self.environ, self.start_response)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/wsgi.py", line 141, in __call__
response = self.get_response(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/base.py", line 75, in get_response
response = self._middleware_chain(request)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
exc_info=sys.exc_info(),
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 228, in log_response
exc_info=exc_info,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1412, in error
self._log(ERROR, msg, args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1519, in _log
self.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1529, in handle
self.callHandlers(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 1591, in callHandlers
hdlr.handle(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/logging/__init__.py", line 905, in handle
self.emit(record)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 122, in emit
self.send_mail(subject, message, fail_silently=True, html_message=html_message)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/utils/log.py", line 125, in send_mail
mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/__init__.py", line 101, in mail_admins
mail.send(fail_silently=fail_silently)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/djcelery_email/backends.py", line 17, in send_messages
result_tasks.append(send_emails.delay(chunk_messages, self.init_kwargs))
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 427, in delay
return self.apply_async(args, kwargs)
File "/Users/victor/work/someapp/web/tasks.py", line 10, in apply_async
return super().apply_async(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/task.py", line 570, in apply_async
**options
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/base.py", line 756, in send_task
amqp.send_task_message(P, name, message, **options)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/celery/app/amqp.py", line 552, in send_task_message
**properties
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 510, in _ensured
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 187, in _publish
channel = self.channel
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 209, in _get_channel
channel = self._channel = channel()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 44, in __call__
value = self.__value__ = self.__contract__()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/messaging.py", line 224, in <lambda>
channel = ChannelPromise(lambda: connection.default_channel)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 852, in default_channel
self.ensure_connection(**conn_opts)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 436, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 431, in _reraise_as_library_errors
yield
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 422, in ensure_connection
callback, timeout=timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/utils/functional.py", line 343, in retry_over_time
return fun(*args, **kwargs)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 275, in connect
return self.connection
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 823, in connection
self._connection = self._establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/connection.py", line 778, in _establish_connection
conn = self.transport.establish_connection()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
conn.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/connection.py", line 307, in connect
self.transport.connect()
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 77, in connect
self._connect(self.host, self.port, self.connect_timeout)
File "/Users/victor/anaconda3/envs/someapp/lib/python3.7/site-packages/amqp/transport.py", line 161, in _connect
self.sock.connect(sa)
kombu.exceptions.OperationalError: [Errno 61] Connection refused
[29/Jul/2019 15:10:12] "GET / HTTP/1.1" 500 59
Does it work wit Django 2.0?
I can send emails with celery with tasks I wrote. But something is wrong with my install of dj_delery_email, because my emails stay PENDING
Celery see djcelery taks:
[tasks]
. djcelery_email_send_multiple
But
In [61]: res = mail.send_mass_mail(mails)
In [62]: res
Out[62]: [<AsyncResult: 94651aee-ded9-40e4-a9f2-4019f4a4d349>]
In [63]: res[0].status
Out[63]: 'PENDING'
And no log at celery server
How can I degug it?
Add documentation text explaining that this module only works if the CELERY_TASK_SERIALIZER
is pickle. Otherwise the pickling of email messages fails:
>>> from django.core.mail import EmailMessage
>>> e = EmailMessage('a', 'b', '[email protected]')
>>> import json
>>> json.dumps(e)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python2.7/json/encoder.py", line 178, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <django.core.mail.message.EmailMessage object at 0x3f95c10> is not JSON serializable
>>>
I know it's not a required setting, but it appears as though celery will just discard the tasks if this rate_limit is exceeded. In other words, if this is set, and you're exceeded the rate_limit sending emails, the emails will just get discarded which is probably not the behavior you intended.
Please correct me if I'm wrong.
I've just spent a lot of time investigating why sending emails with attachments fails.
You already have a working fix but it's not a part of the current 1.1.5 version.
Please either release 1.1.6 or mention in the documentation that attachments don't work.
Thanks!
It looks like this package is incompatible with anymail, specifically template_id and merge_data message members do not appear to survive the provided backend. I suspect this occurs during the dict-ification process in said backend, but I haven't dug deeply into it.
It would be nice for these two packages to work together.
Is Django 2.1 officially supported? If so, please, update tox, travis and supported Django versions clause. In my tests (clone, install reqs, run tests ./runtests.py
) it seems to work.
When sending a lot of mails with django-celery-email
as backend, I often get an error in my celery logs, that there were too many concurrent connections.
I have set EMAIL_BACKEND
accordingly:
EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend'
And I am sending emails like so:
with mail.get_connection() as connection:
for recipient in set(recipients):
email = EmailMessage(subject, content, sender, [recipient],
headers=headers,
connection=connection, **kwargs)
if attachments is not None:
for attach in attachments:
email.attach_file(attach)
try:
email.send(fail_silently=True)
except Exception as e:
print("Error when sending mail:", e)
failed = True
else:
succeeded = True
I was expecting that this opens one connection and sends all emails using this one connection. Is this a wrong assumption? How can I force the mail backend to only use one single connection?
I get the following error when i try to attach files.
[2017-07-18 05:15:38,369: WARNING/PoolWorker-4] djcelery_email_send_multiple[c7cebd25-27d8-4b3c-9734-0a6a5729ee4f]: Failed to send email message to ['[email protected]'], retrying. (TypeError("a bytes-like object is required, not 'str'",))
I've tried a number of ways to attach files. But essentially it's this
docfile = default_storage.open(attachment['file_path'], 'r')
if docfile:
message.attach(attachment['name'], docfile.read())
I have to do all the default_storage stuff because my files live on S3 and I need to open it via the storage and then call read(). But i don't think it matters what storage i use. Also docfile.read() returns a bytes string. Note i'm using python 3.6+
and version 2.0.0
of the module.
It seems calling attach()
converts it to str
. After some debugging, it seems to happen here https://github.com/django/django/blob/master/django/core/mail/message.py#L324
It seems here we're expecting contents to be binary(does that mean a bytes string?)
filename, binary_contents, mimetype = attachment
contents = base64.b64encode(binary_contents).decode('ascii')
This is where i get the TypeError. Note my attached files are txt.
There could probably be something obvious i'm missing here, on how to attach files.
I will explore some more(and try other files) and add some more info later. But any help would be greatly appreciated.
I'm struggling from three days to use it.
Hi, I getting this error on pip install django-celery-email
pip install django-celery-email
Downloading/unpacking django-celery-email
Cannot fetch index base URL https://pypi.python.org/simple/
Could not find any downloads that satisfy the requirement django-celery-email
Cleaning up...
No distributions at all found for django-celery-email
Storing debug log for failure in pip.log
Looking at the fist steps with celery doc, I can't seem to bridge the gap between installing django-celery-email and installing celery (pip install celery) and setting up the worker server. Looking at these docs, http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html#application you have to configure an application. Can someone fill in the gaps for those of us new to celery?
I also came across this: http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html#starting-the-worker-process . Is there a copy and paste task(s).py we can use for the django-celery-email app? Thanks, Rad.
Traceback (most recent call last):
removed
application = get_wsgi_application()
File "/usr/local/lib/python3.7/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application
django.setup(set_prefix=False)
File "/usr/local/lib/python3.7/dist-packages/django/init.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/local/lib/python3.7/dist-packages/django/apps/registry.py", line 91, in populate
app_config = AppConfig.create(entry)
File "/usr/local/lib/python3.7/dist-packages/django/apps/config.py", line 90, in create
module = import_module(entry)
File "/usr/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'django-celery-email'
Are there plans for supporting Celery 4.x in nearest future? If so, could you give an estimation?
The question is self-explanatory! I've integrated django-celery-email. Now I want to send an email using Amazon SES, to be specific using https://github.com/django-ses/django-ses/ . How can I do that?
I have an abstract celery base Task for adding extra logging with our celery tasks. Like so:
@task(queue='email', base=LoggingTask)
def foo()
...
But I can't set that in the settings, can't import it since it imports celery which causes circular import and can't use a string.
CELERY_EMAIL_TASK_CONFIG = {
# we want emails to be high priority
'queue': 'emails',
# can also configure rate limit
# 'rate_limit': '50/m',
'ignore_result': True,
# extra logging
'base': 'celeryutils.LoggingTask',
}
http://celery.readthedocs.org/en/latest/userguide/tasks.html#abstract-classes
It's possible?
Thanks.
I followed the steps exactly but I'm getting the following error.
error: [Errno 111] Connection refused
This is a existing project, for which email sending works as expected if I use the standard django email backends. However I get this error as soon as I change to the djcelery_email backend.
I have my configuration set up like this
EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend'
CELERY_EMAIL_BACKEND = "djrill.mail.backends.djrill.DjrillBackend"
meaning that I use Mandrill to send mails.
In 1.0.4 I was able to set extra args on the EmailMessage object to use templates in Mandrill
email.template_name = 'report-{}'.format(get_language())
email.template_content = {}
email.global_merge_vars = {
'CLIENT': Client.objects.get(slug=client_slug).name,
}
All versions after 1.0.4 no longer sends these arguments all the way to Mandrill
Issue:
Sending email via django-celery-email, results cannot be tracked, leading to issues with e.g. the following scenario:
Non-django celery email tasks do not exhibit this behaviour.
Config:
# pip freeze|grep -i 'django\|celery'
celery==4.2.0
Django==1.11.4
django-celery-email==2.0.0
CELERY_EMAIL_TASK_CONFIG = {
'task_serializer': 'json',
'result_serializer': 'json',
'name': 'djcelery_email_send_multiple',
'ignore_result': False,
'result_backend': 'db+postgresql://****'
}
Procedure:
Send an email (e.g. via mail.send_mail(...)
)
The email is delivered successfully, i.e. the task completes.
Observed:
Resulting task has an ID but no entry in the database:
ipdb> task
<AsyncResult: 1d7ac887-fc81-42c7-b6c7-a77449d4bf9f>
$ echo 'select * from celery_taskmeta;' | ./manage.py dbshell
id | task_id | status | result | date_done | traceback
----+---------+--------+--------+-----------+-----------
(0 rows)
Task cannot be waited for, and status is not updated:
pdb> task.state
u'PENDING'
ipdb> task.wait() # I killed it here after ~30 seconds
^C*** KeyboardInterrupt:
ipdb> task.state
u'PENDING'
Expected:
The task is written to the database, and the status is updated to SUCCESS or FAILURE as appropriate.
Additional Info:
The problem also occurs if the django-celery-email task is run directly:
ipdb> mess = email_to_dict(msg)
ipdb> results = send_emails.delay(mess)
ipdb> results
<AsyncResult: 6fd42b8c-b2e7-4576-af89-f46304e04cff>
ipdb> results.status
u'PENDING'
It does not occur if a non-email task is executed:
ipdb> from myapp.celery import debug_task
ipdb> t = debug_task.delay()
ipdb> t
<AsyncResult: 8baed263-7269-43e4-88de-e9fc6d8828aa>
ipdb> t.status
u'SUCCESS'
$ echo 'select * from celery_taskmeta;' | ./manage.py dbshell
id | task_id | status | result | date_done | traceback
----+--------------------------------------+---------+--------+----------------------------+-----------
16 | 8baed263-7269-43e4-88de-e9fc6d8828aa | SUCCESS | | 2018-06-26 16:11:08.613751 |
Update: added software versions
ENV: django 1.6.5, celery 3.1.17, python 2.7
Celery has setup, everything is ok. I have test function add().
I go with instruction, but nothing happened.
So l looked into the code, and change this line
@shared_task(*_TASK_CONFIG)
def send_emails(messages, backend_kwargs=None, *_kwargs):
to
@shared_task
def send_emails(messages, backend_kwargs=None, **kwargs):
then it works!
The Python 2 compatibility APIs are removed with the Django 3.0 release. Importing from djcelery_email.utils
thus leads to ImportError: cannot import name 'six' from 'django.utils'
.
I've been trying to ensure all sensitive data we send to our queue is encrypted, which includes some short-lived tokens I send by email.
kombu-fernet-serializers is doing a great job of encrypting the bodies of messages, but it doesn't encrypt message headers.
Celery messages include argsrepr
and kwargsrepr
headers (the structure of these messages is documented here), which in django-celery-email's case, results in a lot of the detail of each message being logged.
Celery have recommendations on how to hide these arguments, but I can't figure out how I can hide them without subclassing the backend like this:
from django.conf import settings
from djcelery_email import backends
from djcelery_email.tasks import send_emails
from djcelery_email.utils import chunked, email_to_dict
class CeleryEmailBackend(backends.CeleryEmailBackend):
def send_messages(self, email_messages):
result_tasks = []
for chunk in chunked(email_messages, settings.CELERY_EMAIL_CHUNK_SIZE):
chunk_messages = [email_to_dict(msg) for msg in chunk]
result_tasks.append(
send_emails.apply_async(
(chunk_messages, self.init_kwargs),
argsrepr="(django-celery-email messages)",
)
)
return result_tasks
I'd be happy to work on a PR to make this possible, but I'm not sure what the best way to proceed would be. A setting to hide args? A setting to specify extra kwargs to apply_async
?
Looking forward to hearing your feedback!
Hello everyone
I'm trying to get working this trinity: django-celery, django-celery-email and django-post-office.
Settings contains
EMAIL_BACKEND = 'post_office.EmailBackend'
CELERY_EMAIL_TASK_CONFIG = { 'ignore_result': False,}
POST_OFFICE = {
'EMAIL_BACKEND': 'djcelery_email.backends.CeleryEmailBackend',
'DEFAULT_PRIORITY': 'now',
}
And everything looks working perfectly except celery periodic task which I've added via django admin. I've choosen the registered task 'djcelery_email_send_multiple' and apply interval of 10'. The task is sending by celery beat on execution but celery demon just outputs:
ERROR/MainProcess] Task djcelery_email_send_multiple[3d10fc14-1da3-48a5-b8b5-28df9fefea02] raised unexpected: TypeError('send_emails() takes at least 1 argument (0 given)',)
Traceback (most recent call last):
File "/home/projects/aquashop/local/lib/python2.7/site-packages/celery/app/trace.py", line 240, in trace_task
R = retval = fun(*args, **kwargs)
File "/home/projects/aquashop/local/lib/python2.7/site-packages/celery/app/trace.py", line 438, in __protected_call__
return self.run(*args, **kwargs)
TypeError: send_emails() takes at least 1 argument (0 given)
Env:
django==1.8.9
celery==3.1.23
django-celery==3.1.17
django-celery-email==1.1.4
django-post-office==2.0.7
So, the question is... Is there a workaround for the issue or i should make my own celery task, which would know about queued mails?
I have traceback errors when using a Celery 4.3, any help for this?
I'm trying to use the app to send emails but I'm always facing an error.
These are the packages in my environment:
Django==1.8.3
amqp==1.4.6
anyjson==0.3.3
billiard==3.3.0.20
celery==3.1.18
django-appconf==1.0.1
django-celery==3.1.16
django-celery-email==1.1.2
django-jfu==2.0.9
kombu==3.0.26
psycopg2==2.6.1
pytz==2015.4
six==1.9.0
wsgiref==0.1.2
settings.py
**
INSTALLED_APPS = (
***
'djcelery',
'kombu.transport.django',
'djcelery_email',
***
)
**
CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend'
CELERY_IMPORTS = ["djcelery_email.tasks"]
celery.py
from __future__ import absolute_import
from celery import Celery
app = Celery('job_costing',
broker='django://')
if __name__ == '__main__':
app.start()
init.py
from __future__ import absolute_import
# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.
from .celery import app as celery_app
Hi, my attachments headers are stripped when i try to send an e-mail.
django-celery-email: 2.0.0
Django: 1.11.6
Python: 3.6.2
mail = EmailMultiAlternatives(
'TestMail',
'Hello World',
'[email protected]',
'[email protected]'
)
html = "Some html template with cid:..."
mail.attach_alternative(html, "text/html")
mail.mixed_subtype = 'related'
image_data = open(......)
image_name = "image.png"
# Image
msg_img = MIMEImage(image_data)
msg_img.add_header('Content-ID', '<{}>'.format(image_name))
mail.attach(msg_img)
mail.send()
Thanks in advance.
I simply follow the README then i just add EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend' in settings and then apps: celery==4.2.1
django-celery-email==2.0.1
but emails are not sending at background
Can you please add some example how to run the worker?
Hi,
Has anybody been able to get django-celery-email working with celery 5? I have tried to get it running but get an error and not sure of it should work out of the box or there is some compatibility issue.
Thanks
Is this library still working today.
Since the last commit to the library was 2 years ago, I'm wondering if it is still relevant today.
Hello,
I am using celery 5.2.7, Django 4.0, django-celery-email 3.0.0 and django-celery-beat 2.3.0. When I try to start celery with the following command: exec celery -A myapp worker -l info --concurrency 6 -B , which used to work with Django 2.2, but I getting the following error in djcelery_email:
File "/Users/antonio/workspace/projects/myapp/env/lib/python3.8/site-packages/djcelery_email/tasks.py", line 3, in
from django.utils.six import string_types
ModuleNotFoundError: No module named 'django.utils.six'
Is the latest version compatible with Django 4.0 ?
Thanks.
Hello,
I'm using 2.0.0 version on my project. I have a some problems. I found this in my log file.
"Cannot reach CELERY_EMAIL_BACKEND django.core.mail.backends.smtp.EmailBackend"
And After, we add this parameter.
CELERY_EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend'
After, I have a new problem.
djcelery_email_send_multiple[49d3b5a9-b1af-424c-8709-95b506d66c49]: Failed to send email message to [u'[email protected]'], retrying. (TypeError("unsupported operand type(s) for +=: 'int' and 'list'",))
Because send_messages method of CeleryEmailBackend return to list.
Hey there, I just sent #61 and from there, we can see a few things covered and some that are missing coverage.
In the tests, there seem to be a celery_queue_pop
method that doesn't seem to be used, should it be removed?
There is no coverage for it as shown here:
https://codecov.io/gh/GabLeRoux/django-celery-email/src/codecov-integration/tests/tests.py
Messages with content_subtype overridden to "html" are sent as plain text when passing through djcelery.
It's because in the serialization process (email_to_dict function), only some attributes are copied.
Fix in #17
Sometimes worker is stuck on executing email tasks (probably connection problems). To fix this, there is an Celery option TASK_TIME_LIMIT
where you can limit task execution time (p.s. default value is infinite
). However, when task hits time limit, worker is killed with SIGKILL
and what I see from logs, the task is not retried for the second time.
[2020-05-12 11:04:51,352: INFO/MainProcess] Received task: djcelery_email_send_multiple[44dfa3fd-f801-4d8d-b15f-eec05c1e04b4] │
│[2020-05-12 11:05:51,371: ERROR/MainProcess] Task handler raised error: TimeLimitExceeded(60,) │
│Traceback (most recent call last): │
│ File "/opt/venvs/www/lib/python3.5/site-packages/billiard/pool.py", line 658, in on_hard_timeout │
│ raise TimeLimitExceeded(job._timeout) │
│billiard.exceptions.TimeLimitExceeded: TimeLimitExceeded(60,) │
│[2020-05-12 11:05:51,373: ERROR/MainProcess] Hard time limit (60s) exceeded for djcelery_email_send_multiple[44dfa3fd-f801-4d8d-b15f-eec05c1e04b4] │
│[2020-05-12 11:05:51,522: ERROR/MainProcess] Process 'ForkPoolWorker-1' pid:17908 exited with 'signal 9 (SIGKILL)' │
│[2020-05-12 11:09:45,841: INFO/MainProcess] Received task: djcelery_email_send_multiple[399a06d3-629f-42df-a926-9afb76afc98e] │
│[2020-05-12 11:09:47,142: INFO/ForkPoolWorker-2] Task djcelery_email_send_multiple[399a06d3-629f-42df-a926-9afb76afc98e] succeeded in 1.2928511229692958s: 1
I am considering to use https://docs.celeryproject.org/en/latest/userguide/configuration.html#task-reject-on-worker-lost, but as docs states, it is probably not the best way to handle this error.
I guess the easiest way would be to handle such error in django-celery-email internally. Or maybe I am missing something?
I'm upgrading an old project that did make use of django-celery-email
version 1.0.4.
Can django-celery-email
(latest version of) handle JSON serialisation? It hasn't been available in 1.0.4.
Thanks in advance!
I am getting SMTPServerDisconnected('please run connect() first',)
on some SMTP servers. I have no clue what could be wrong. For example GMail is working fine. When I move to my local provider I get this error. Do you think it could be a problem of django-celery-email?
Funny thing is, when I ommit EMAIL_TIMEOUT
setting, those e-mails are sent in about 270 seconds or more! One by one ...
i have a problem, because the messages are send to the rabbitmq broker, but no answer and the task is not executed.
I want to use this for Django's automated email error reporting. They are tested to work synchronously though I'd like them to be sent via a celery task to avoid blocking the response while the email is sent.
I've setup my environment with django-celery-email (using latest celery 4.x), changed the EMAIL_BACKEND, added a Queue called "email", etc.
I run celery as I normally do: celery worker -A projectname
, and I can see the new queue there.
However, everytime an email is meant to send, celery spits out this error:
[2017-01-16 15:50:24,066: WARNING/MainProcess] Received and deleted unknown message. Wrong destination?!?
The full contents of the message body was: body: [[[{u'body': u'"POST /api/1/contacts/ HTTP/1.1" 500 27\n\nReport\n"POST /api/1/contacts/ HTTP/1.1" 500 27\n\nDjango Version: 1.10.4\nPython Executable: /home/harel/dev/crmpro/env/bin/python\nPython Version: 2.7.12\nPython Path: [\'/home/harel/dev/crmpro/crmpro/crmpro\', \'/home/harel/dev/crmpro/env/lib/python2.7\', \'/home/harel/dev/crmpro/env/lib/python2.7/plat-x86_64-linux-gnu\', \'/home/harel/dev/crmpro/env/lib/python2.7/lib-tk\', \'/home/harel/dev/crmpro/env/lib/python2.7/lib-old\', \'/home/harel/dev/crmpro/env/lib/python2.7/lib-dynload\', \'/usr/lib/python2.7\', \'/usr/lib/python2.7/plat-x86_64-linux-gnu\', \'/usr/lib/python2.7/lib-tk\', \'/home/harel/dev/crmpro/env/local/lib/python2.7/site-packages\', \'/home/harel/dev/crmpro/env/lib/python2.7/site-packages\', \'/home/harel/dev/crmpro/crmpro/crmpro\']\nServer time: Mon, 16 Jan 2017 15:50:24 +0000\nInstalled Applications:\n[\'django.contrib.admin\',\n \'django.contrib.auth\',\n \'django.contrib.contenttypes\',\n \'django.contrib.sessions\',\n... (16292b)
{content_type:'application/json' content_encoding:'utf-8'
delivery_info:{'consumer_tag': 'None4', 'redelivered': False, 'routing_key': 'default', 'delivery_tag': 12L, 'exchange': ''} headers={'\xe5\xca.\xdb\x00\x00\x00\x00\x00': None, 'P&5\x07\x00': None, 'T\nKB\x00\x00\x00': 'c37cb5d4-22d6-4752-a44b-b8066a732aa1', 'N\xfd\x17=\x00\x00': 'gen32174@fiber', '\xcfb\xddR': 'py', '9*\xa8': None, '\xb7/b\x84\x00\x00\x00': 0, '\xe0\x0b\xfa\x89\x00\x00\x00': None, '\xdfR\xc4x\x00\x00\x00\x00\x00': [None, None], 'T3\x1d ': 'djcelery_email_send_multiple', '\xae\xbf': 'c37cb5d4-22d6-4752-a44b-b8066a732aa1', '\x11s\x1f\xd8\x00\x00\x00\x00': '([{\'body\': \'"POST /api/1/contacts/ HTTP/1.1" 500 27\n\nReport\n"POST /api/1/contacts/ HTTP/1.1" 500 27\n\nDjango Version: 1.10.4\nPython Executable: /home/harel/dev/crmpro/env/bin/python\nPython Version: 2.7.12\nPython Path: [\'/home/harel/dev/crmpro/crmpro/crmpro\', \'/home/harel/dev/crmpro/env/lib/python2.7\', \'/home/harel/dev/crmpro/env/lib/python2.7/plat-x86_64-linux-gnu\', \'/home/harel/dev/crmpro/env/lib/python2.7/lib-tk\', \'/home/harel/dev/crmpro/env/lib/python2.7/lib-old\', \'/home/harel/dev/crmpro/env/lib/python2.7/lib-dynload\', \'/usr/lib/python2.7\', \'/usr/lib/python2.7/plat-x86_64-linux-gnu\', \'/usr/lib/python2.7/lib-tk\', \'/home/harel/dev/crmpro/env/local/lib/python2.7/site-packages\', \'/home/harel/dev/crmpro/env/lib/python2.7/site-packages\', \'/home/harel/dev/crmpro/crmpro/crmpro\']\nServer time: Mon, 16 Jan 2017 15:50:24 +0000\nInstalled Applications:\n[\'django.contrib.admin\',\n \'django.contrib.auth\',\n \'django.contrib.contenttypes\',\n \'django.contrib.sessions\',\n \'django.contrib.messages\',\n \'django.contrib.staticfiles\',\n...\', ...}])', 'UL\xa1\xfc\x00\x00\x00\x00\x00\x00': '{}'}}
Any idea? It looks like the tasks is not receiving a proper "task"?
I'm currently on 1.1.4 and when I take down my email server I see this:
worker_1 | [2016-07-31 16:11:13,604: ERROR/Worker-3] email_send[c4bacb03-cc3a-468f-80ec-a4dfc20bf7f4]: Cannot reach CELERY_EMAIL_BACKEND django.core.mail.backends.smtp.EmailBackend
worker_1 | Traceback (most recent call last):
worker_1 | File "/usr/local/lib/python2.7/dist-packages/djcelery_email/tasks.py", line 48, in send_emails
worker_1 | conn.open()
worker_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 58, in open
worker_1 | self.connection = connection_class(self.host, self.port, **connection_params)
worker_1 | File "/usr/lib/python2.7/smtplib.py", line 256, in __init__
worker_1 | (code, msg) = self.connect(host, port)
worker_1 | File "/usr/lib/python2.7/smtplib.py", line 316, in connect
worker_1 | self.sock = self._get_socket(host, port, self.timeout)
worker_1 | File "/usr/lib/python2.7/smtplib.py", line 291, in _get_socket
worker_1 | return socket.create_connection((host, port), timeout)
worker_1 | File "/usr/lib/python2.7/socket.py", line 553, in create_connection
worker_1 | for res in getaddrinfo(host, port, 0, SOCK_STREAM):
worker_1 | gaierror: [Errno -5] No address associated with hostname
worker_1 | [2016-07-31 16:11:13,610: WARNING/Worker-3] email_send[c4bacb03-cc3a-468f-80ec-a4dfc20bf7f4]: Failed to send email message to [u'[email protected]'], retrying. (gaierror(-5, 'No address associated with hostname'))
worker_1 | [2016-07-31 16:11:13,613: INFO/MainProcess] Received task: email_send[c4bacb03-cc3a-468f-80ec-a4dfc20bf7f4] eta:[2016-07-31 16:12:13.610791-07:00]
worker_1 | [2016-07-31 16:11:13,616: INFO/MainProcess] Task email_send[c4bacb03-cc3a-468f-80ec-a4dfc20bf7f4] succeeded in 0.0200942240008s: 0
The first time it tries to send, it properly returns the error. But when it retries it marks it as succeeded.
Even though it continues to be down, it returns with a succeed on the retry. I have confirmed the message actually never gets sent.
When sending the emails need to also try/catch the conn.open part so if the connection open fails it can retry all the messages.
...
conn = get_connection(backend=settings.CELERY_EMAIL_BACKEND, **combined_kwargs)
conn.open()
messages_sent = 0
for message in messages:
try:
sent = conn.send_messages([dict_to_email(message)])
if sent is not None:
messages_sent += sent
logger.debug("Successfully sent email message to %r.", message['to'])
except Exception as e:
# Not expecting any specific kind of exception here because it
# could be any number of things, depending on the backend
logger.warning("Failed to send email message to %r, retrying. (%r)",
message['to'], e)
send_emails.retry([[message], combined_kwargs], exc=e, throw=False)
conn.close()
And if there is a SoftTimeLimitExceeded error, it should try cleanup and exit
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.