cho*_*him 3 python multiprocessing
我试图并行发送5封电子邮件.函数scheduleEmails将5个电子邮件地址列表的列表作为输入.我的代码如下所示:
import multiprocessing
import smtplib
def sendMail(email):
#sends email using smtplib
# returns True in case of success, False in case of failure
def scheduleEmails(emailLst):
"""
emailLst is a list of list of 5 emails
emailLst = [[emailAddr1,emailAddr2,emailAddr3...emailAddr5],
[emailAddr6...emailAddr10],
[emailAddr11... emailAddr[15],...]
"""
FREQUENCY = 5 # no. of emails to be send per second
for i in range(len(emailLst)):
p = multiprocessing.Pool(FREQUENCY)
emails = emailLst[i]
results = p.map(sendEmail,emails)
scheduleEmails(someEmailLst)
Run Code Online (Sandbox Code Playgroud)
代码运作良好但经过一段时间后,它就会挂起.你能指出错误或提出更好的方法来实现这个目标吗?
| 归档时间: |
|
| 查看次数: |
563 次 |
| 最近记录: |