通过下面的简单代码片段,我试图让线程多处理启动并运行。在
import multiprocessing
import os
from app.PD.models import PAST_DUE
from app.LoanContract.models import LOAN_CONTRACT
def doPDDate(n):
print("Worker process id for {0}: {1}".format(n.ID, os.getpid()))
LoanID = n.LoanID
LC = LOAN_CONTRACT.query.filter_by(ID=LoanID)
for row in LC:
print row.ID
return n.ID
if __name__ == "__main__":
# input list
# mylist = [1,2,3,4,5]
PD = PAST_DUE.query.all()
# creating a pool object
p = multiprocessing.Pool()
# map list to target function
result = p.map(doPDDate, PD)
然而,在doPDDate()
运行的中途,我收到了有线错误消息:
Traceback (most recent call last): File "test.py", line 26, in result = p.map(doPDDate, PD) File "/usr/lib/python2.7/multiprocessing/pool.py", line 253, in map return self.map_async(func, iterable, chunksize).get() File "/usr/lib/python2.7/multiprocessing/pool.py", line 572, in get raise self._value sqlalchemy.exc.OperationalError: (OperationalError) SSL error: decryption failed or bad record mac
在该函数继续执行之前。在
整个Trackback如下:
^{pr2}$我不知道是否从函数doPDDate()
删除块for-loop
一切都正常;print语句继续打印,没有上面的错误消息。在
我能知道这是什么问题吗?我怎么解决这个问题?谢谢。在
目前没有回答
相关问题 更多 >
编程相关推荐