पर चलते समय लागू नहीं किया गया है मेरे पास एक छोटा कोड है जो multiprocessing
पैकेज का उपयोग करता है और मेरी स्थानीय मशीन पर ठीक काम करता है।_multiprocessing.SemLock एडब्ल्यूएस लैम्ब्डा
मैं AWS Lambda
पर अपलोड और वहाँ चलाने के लिए, मैं निम्नलिखित त्रुटि (स्टैकट्रेस छंटनी) मिल गया है:
[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
यह हो सकता है कि अजगर के मुख्य संकुल का एक हिस्सा लागू नहीं किया है? मुझे नहीं पता कि मैं नीचे क्या चल रहा हूं इसलिए मैं वहां लॉगिन नहीं कर सकता हूं और डीबग कर सकता हूं।
कोई विचार मैं लैम्ब्डा पर multiprocessing
कैसे चला सकता हूं?
मदद करता है क्या आप इस समस्या को जॉबलिब के साथ हल करने के बारे में बता सकते हैं? मैं अभी इसका परीक्षण कर रहा हूं, और जॉबलिब धारावाहिक परिचालनों में वापस असफल रहा है: '[Errno 38] फ़ंक्शन लागू नहीं किया गया है। जॉबलिब सीरियल मोड ' – pjgranahan
[यह थ्रेड] (https://github.com/joblib/joblib/issues/391) में काम करेगा, यह सुझाव देता है कि जॉबलिब वास्तव में इस मुद्दे के आसपास काम नहीं कर सकता है। – pjgranahan
हाँ क्षमा करें, मैंने कभी इसमें गहराई से खोला नहीं। अच्छी तरह से काम नहीं कर सकता है। – glennji