diff --git a/apps/emencia/django/newsletter/mailer.py b/apps/emencia/django/newsletter/mailer.py index dc9c041e..85fddc1c 100644 --- a/apps/emencia/django/newsletter/mailer.py +++ b/apps/emencia/django/newsletter/mailer.py @@ -71,6 +71,8 @@ from emencia.django.newsletter.settings import \ import HTMLParser import chardet +import redis +from redis_collections import List from theme.models import Theme @@ -651,9 +653,16 @@ class Mailer(NewsLetterSender): # if self.verbose: # print '%i emails will be sent' % number_of_recipients + r = redis.StrictRedis() + # FIXME: Временно сделана отправка только 1 письма. # См FIXME в команде send_newsletter for i, contact in enumerate(expedition_list, 1): + l = List(key='newsletter_sending_contacts', redis=r) + if contact.pk in l: + continue + l.append(contact.pk) + print 'sending to contact: %s, %s (%s)' % (contact.pk, contact.email, timezone.now()) send = True # if self.verbose: @@ -700,6 +709,8 @@ class Mailer(NewsLetterSender): self.smtp.quit() self.smtp_connect() + l.remove(contact.pk) + # маркируем оставшиеся контакты на второй этап self.mark_contacts_for_second_stage() diff --git a/requirements.txt b/requirements.txt index f8fe67c1..14f6d5b2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -52,11 +52,12 @@ pytils==0.3 pytz==2016.10 raven==5.32.0 redis==2.10.1 +redis-collections==0.4.2 regex==2014.11.14 requests==2.2.1 requests-oauthlib==0.4.0 scipy==0.18.1 -six==1.6.1 +six==1.10.0 SOAPpy==0.12.22 solid-i18n==1.1.1 sorl-thumbnail==11.12.1b0