【发布时间】:2016-03-04 12:30:51
【问题描述】:
我有一个使用multiprocessing 包的短代码,并且在我的本地机器上运行良好。
当我上传到AWS Lambda 并在那里运行时,我收到以下错误(stacktrace 已修整):
[Errno 38] Function not implemented: OSError
Traceback (most recent call last):
File "/var/task/recorder.py", line 41, in record
pool = multiprocessing.Pool(10)
File "/usr/lib64/python2.7/multiprocessing/__init__.py", line 232, in Pool
return Pool(processes, initializer, initargs, maxtasksperchild)
File "/usr/lib64/python2.7/multiprocessing/pool.py", line 138, in __init__
self._setup_queues()
File "/usr/lib64/python2.7/multiprocessing/pool.py", line 234, in _setup_queues
self._inqueue = SimpleQueue()
File "/usr/lib64/python2.7/multiprocessing/queues.py", line 354, in __init__
self._rlock = Lock()
File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 147, in __init__
SemLock.__init__(self, SEMAPHORE, 1, 1)
File "/usr/lib64/python2.7/multiprocessing/synchronize.py", line 75, in __init__
sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
OSError: [Errno 38] Function not implemented
会不会是python核心包的一部分没有实现?我不知道我在下面运行什么,所以我无法在那里登录和调试。
任何想法如何在 Lambda 上运行 multiprocessing?
【问题讨论】:
标签: python-multiprocessing aws-lambda