我正在使用 Django-Mailer-2 从 Django 应用程序发送电子邮件。如果我python manage.py send_mail
通过 每隔 5 分钟运行一次命令crontab
,它将发送已添加到队列中的所有电子邮件。
如果我一次将 1,000 封电子邮件添加到队列中并且命令python manage.py send_mail
每 5 分钟运行一次,是否会每 5 分钟启动添加线程以发送队列中的电子邮件?
我正在使用 Django-Mailer-2 从 Django 应用程序发送电子邮件。如果我python manage.py send_mail
通过 每隔 5 分钟运行一次命令crontab
,它将发送已添加到队列中的所有电子邮件。
如果我一次将 1,000 封电子邮件添加到队列中并且命令python manage.py send_mail
每 5 分钟运行一次,是否会每 5 分钟启动添加线程以发送队列中的电子邮件?
不,它使用锁定文件,如果前一个文件send_mail
正在运行,它将退出。
https://github.com/SmileyChris/django-mailer-2/blob/master/django_mailer/engine.py
try:
# lockfile has a bug dealing with a negative LOCK_WAIT_TIMEOUT (which
# is the default if it's not provided) systems which use a LinkFileLock
# so ensure that it is never a negative number.
lock.acquire(settings.LOCK_WAIT_TIMEOUT or 0)
#lock.acquire(settings.LOCK_WAIT_TIMEOUT)
except AlreadyLocked:
logger.debug("Lock already in place. Exiting.")
return
except LockTimeout:
logger.debug("Waiting for the lock timed out. Exiting.")
return