Django send_mail "锁已存在. 退出.
我在使用Django的send_mail
功能时遇到了问题。之前一切都很好,直到我尝试更改一些邮件设置,想要使用EMAIL_HOST_USER和EMAIL_HOST_PASSWORD。结果,我的测试邮件就发不出了。
我把邮件设置改回之前能用的那种,但现在邮件还是发不出去。我已经重启了一些东西,以确保当前的设置生效。当我运行命令'python manage.py send_mail'来测试时,得到了这样的反馈:
正在获取锁定... 锁定已经存在。退出。
在查看mailer.engine中的代码时:
def send_all():
"""
Send all eligible messages in the queue.
"""
lock = FileLock("send_mail")
logging.debug("acquiring lock...")
try:
lock.acquire(LOCK_WAIT_TIMEOUT)
except AlreadyLocked:
logging.debug("lock already in place. quitting.")
return
except LockTimeout:
logging.debug("waiting for the lock timed out. quitting.")
return
logging.debug("acquired.")
start_time = time.time()
dont_send = 0
deferred = 0
sent = 0
看起来是因为出现了'AlreadyLocked'这个异常,所以程序在发送邮件之前就退出了。如果真是这样,我该怎么打破这个锁定,重新开始呢?
1 个回答
7
很可能你的文件夹里有一个叫“锁文件”的东西('send_mail'),你只需要把它删掉就行。