无法在python SQLAlchemy中执行多处理

2024-09-30 03:25:43 发布

您现在位置:Python中文网/ 问答频道 /正文

通过下面的简单代码片段,我试图让线程多处理启动并运行。在

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语句继续打印,没有上面的错误消息。在

我能知道这是什么问题吗?我怎么解决这个问题?谢谢。在


Tags: inpyimportidmapforosline

热门问题