Você não está logado!

Busca :  

Inscreva-se no newsletter

Usando o uWSGI para enfileirar seus e-mails com Django

 

   Acredito que muitas pessoas já tiveram a necessidade de enfileirar o envio de e-mails para que o usuário não espere a boa vontade do servidor SMTP e afins. Para isso, desenvolvi um backend para envio de e-mails em Django que usa o Spooler do uWSGI para fazer a bendita fila.

   Para quem não conhece o Spooler do uWSGI, a documentação completa pode ser consultada em http://projects.unbit.it/uwsgi/wiki/Spooler, e os lindos decorators, podem ser consultados em http://projects.unbit.it/uwsgi/wiki/Decorators.

   Vamos ao que interessa.

   Para instalar, pip install django-uwsgi-mail ou baixe o repositório em https://github.com/jaysonsantos/django-uwsgi-mail.

   Para usá-lo, adicione o uwsgi_mail ao seu python path, e configure no seu settings o backend de e-mail com EMAIL_BACKEND = 'uwsgi_mail.uwsgi.EmailBackend', não esquecendo de ativar o spooler no seu uWSGI e fazer com que ele carrege o módulo uwsgi_mail.task.

   - Que mais, tio?

   - Nada, envie seus e-mails.

   - Como assim?

   - Com o backend adicionado, você pode usar tanto o send_mail ou EmailMessage normalmente que o backend irá serializar a mensagem e enviar para o uWSGI que enviará para o spool e o spool voltará ao uwsgi_mail.task.send_mail que usará por padrão o backend de SMTP do Django, caso você queria alterá-lo, no seu settings, configure UWSGI_EMAIL_BACKEND com o backend que você quiser.

 

   É isso aí, façam fork do projeto, modifiquem, comentem.

   Mais informaçõs em https://github.com/jaysonsantos/django-uwsgi-mail.

 

Por Jayson Santos dos Reis

blog comments powered by Disqus

Publicidade