Skip to content

Commit 836398e

Browse files
committed
Merge pull request SmileyChris#14 from alepane21/master
- added a cron mode to the management commands
2 parents 31a88b9 + adafd65 commit 836398e

File tree

3 files changed

+30
-11
lines changed

3 files changed

+30
-11
lines changed

mailer/engine.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,17 @@ def prioritize():
3232
"""
3333

3434
while True:
35-
while Message.objects.high_priority().count() or Message.objects.medium_priority().count():
36-
while Message.objects.high_priority().count():
37-
for message in Message.objects.high_priority().order_by("when_added"):
35+
while Message.objects.high_priority().using('default').count() or Message.objects.medium_priority().using('default').count():
36+
while Message.objects.high_priority().using('default').count():
37+
for message in Message.objects.high_priority().using('default').order_by("when_added"):
3838
yield message
39-
while Message.objects.high_priority().count() == 0 and Message.objects.medium_priority().count():
40-
yield Message.objects.medium_priority().order_by("when_added")[0]
41-
while Message.objects.high_priority().count() == 0 and Message.objects.medium_priority().count() == 0 and Message.objects.low_priority().count():
42-
yield Message.objects.low_priority().order_by("when_added")[0]
43-
if Message.objects.non_deferred().count() == 0:
39+
while Message.objects.high_priority().using('default').count() == 0 and Message.objects.medium_priority().using('default').count():
40+
yield Message.objects.medium_priority().using('default').order_by("when_added")[0]
41+
while Message.objects.high_priority().using('default').count() == 0 and Message.objects.medium_priority().using('default').count() == 0 and Message.objects.low_priority().using('default').count():
42+
yield Message.objects.low_priority().using('default').order_by("when_added")[0]
43+
if Message.objects.non_deferred().using('default').count() == 0:
4444
break
4545

46-
4746
def send_all():
4847
"""
4948
Send all eligible messages in the queue.

mailer/management/commands/retry_deferred.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
from optparse import make_option
23

34
from django.core.management.base import NoArgsCommand
45
from django.db import connection
@@ -8,9 +9,18 @@
89

910
class Command(NoArgsCommand):
1011
help = "Attempt to resend any deferred mail."
12+
base_options = (
13+
make_option('-c', '--cron', default=0, type='int',
14+
help='If 1 don\'t print messagges, but only errors.'
15+
),
16+
)
17+
option_list = NoArgsCommand.option_list + base_options
1118

1219
def handle_noargs(self, **options):
13-
logging.basicConfig(level=logging.DEBUG, format="%(message)s")
20+
if options['cron'] == 0:
21+
logging.basicConfig(level=logging.DEBUG, format="%(message)s")
22+
else:
23+
logging.basicConfig(level=logging.ERROR, format="%(message)s")
1424
count = Message.objects.retry_deferred() # @@@ new_priority not yet supported
1525
logging.info("%s message(s) retried" % count)
1626
connection.close()

mailer/management/commands/send_mail.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
from optparse import make_option
23

34
from django.conf import settings
45
from django.core.management.base import NoArgsCommand
@@ -13,9 +14,18 @@
1314

1415
class Command(NoArgsCommand):
1516
help = "Do one pass through the mail queue, attempting to send all mail."
17+
base_options = (
18+
make_option('-c', '--cron', default=0, type='int',
19+
help='If 1 don\'t print messagges, but only errors.'
20+
),
21+
)
22+
option_list = NoArgsCommand.option_list + base_options
1623

1724
def handle_noargs(self, **options):
18-
logging.basicConfig(level=logging.DEBUG, format="%(message)s")
25+
if options['cron'] == 0:
26+
logging.basicConfig(level=logging.DEBUG, format="%(message)s")
27+
else:
28+
logging.basicConfig(level=logging.ERROR, format="%(message)s")
1929
logging.info("-" * 72)
2030
# if PAUSE_SEND is turned on don't do anything.
2131
if not PAUSE_SEND:

0 commit comments

Comments
 (0)