Fixed PHP timeout option merging bug
This commit is contained in:
parent
cf3dd5f373
commit
95edd9e31c
|
@ -7,18 +7,19 @@ from django.db.models import Q
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.encoding import smart_str
|
from django.utils.encoding import smart_str
|
||||||
|
|
||||||
from orchestra.utils.sys import LockFile
|
from orchestra.utils.sys import LockFile, OperationLocked
|
||||||
|
|
||||||
from . import settings
|
from . import settings
|
||||||
from .models import Message
|
from .models import Message
|
||||||
|
|
||||||
|
|
||||||
def send_message(message, num=0, connection=None, bulk=100):
|
def send_message(message, num=0, connection=None, bulk=settings.MAILER_BULK_MESSAGES):
|
||||||
if num >= bulk and connection is not None:
|
if num >= bulk and connection is not None:
|
||||||
connection.close()
|
connection.close()
|
||||||
connection = None
|
connection = None
|
||||||
if connection is None:
|
if connection is None:
|
||||||
# Reset connection with django
|
# Reset connection with django
|
||||||
|
num = 0
|
||||||
connection = get_connection(backend='django.core.mail.backends.smtp.EmailBackend')
|
connection = get_connection(backend='django.core.mail.backends.smtp.EmailBackend')
|
||||||
connection.open()
|
connection.open()
|
||||||
error = None
|
error = None
|
||||||
|
@ -34,7 +35,8 @@ def send_message(message, num=0, connection=None, bulk=100):
|
||||||
message.log(error)
|
message.log(error)
|
||||||
|
|
||||||
|
|
||||||
def send_pending(bulk=100):
|
def send_pending(bulk=settings.MAILER_BULK_MESSAGES):
|
||||||
|
try:
|
||||||
with LockFile('/dev/shm/mailer.send_pending.lock'):
|
with LockFile('/dev/shm/mailer.send_pending.lock'):
|
||||||
connection = None
|
connection = None
|
||||||
num = 0
|
num = 0
|
||||||
|
@ -50,3 +52,5 @@ def send_pending(bulk=100):
|
||||||
send_message(message, num, connection, bulk)
|
send_message(message, num, connection, bulk)
|
||||||
if connection is not None:
|
if connection is not None:
|
||||||
connection.close()
|
connection.close()
|
||||||
|
except OperationLocked:
|
||||||
|
pass
|
||||||
|
|
|
@ -17,3 +17,8 @@ MAILER_NON_QUEUED_PER_REQUEST_THRESHOLD = Setting('MAILER_NON_QUEUED_PER_REQUEST
|
||||||
2,
|
2,
|
||||||
help_text=_("Number of emails that will be sent immediately before starting to queue them."),
|
help_text=_("Number of emails that will be sent immediately before starting to queue them."),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
MAILER_BULK_MESSAGES = Setting('MAILER_BULK_MESSAGES',
|
||||||
|
500,
|
||||||
|
)
|
||||||
|
|
Loading…
Reference in a new issue