2017-05-22 5 views
5

मेरे पास 4 लैम्ब्डा फ़ंक्शंस हैं जिन्हें एक ही समय में (एसएनएस द्वारा) बुलाया जाएगा, एसएनएस की घटना की आवृत्ति 5 मिनट है। प्रत्येक फ़ंक्शन डेटा और छवियों (~ 300 एमबी) के बड़े माउंट को संसाधित करता है, इसलिए मैं उन्हें /tmp फ़ोल्डर (500 एमबी सीमा) पर संग्रहीत करता हूं।एडब्ल्यूएस लैम्ब्डा - प्रत्येक निष्पादन के बाद रिलीज/टीएमपी स्टोरेज

फ़ंक्शन की शुरुआत में, मैंने यह सुनिश्चित करने के लिए /tmp फ़ोल्डर को साफ करने के लिए कुछ कोड लिखा था, क्योंकि यह सुनिश्चित करने के लिए कि यह स्मृति से बाहर नहीं है (क्योंकि मुझे पता है कि एडब्ल्यूएस लैम्ब्डा कभी-कभी प्रदर्शन को बेहतर बनाने के लिए पिछले कंटेनर का उपयोग करता है)।

मैं इसे मैन्युअल रूप से जांचता हूं (संदेश बनाता हूं और एसएनएस द्वारा 4 लैम्ब्डा कार्यों में प्रकाशित करता हूं), यह ठीक काम करता है।

लेकिन जब यह स्वचालित रूप से चलता है (प्रत्येक 5 मिनट का आह्वान किया जाता है) परिणाम मेरी अपेक्षा के रूप में नहीं होता है। पहला निष्पादन ठीक है, लेकिन अगली बार, 4 में से 4 या यहां तक ​​कि 4 लैम्ब्डा फ़ंक्शन "स्मृति से बाहर" से संबंधित त्रुटि को फेंक देते हैं: "डिवाइस पर कोई स्थान नहीं छोड़ा गया", lib लोड नहीं कर सकता, ...

पिछला, मैं नोडजेज़ (4.3) का उपयोग करता हूं, यह दोनों मामले ठीक काम करता है।

लेकिन मुझे किसी कारण से पाइथन में बदलना है, मुख्य प्रवाह और बनाए गए डेटा का माउंट समान है। लेकिन स्वचालित रूप से चलाए जाने पर यह असफल हो जाता है।

मुझे लगता है कि इस मुद्दे को पिछला कंटेनर (पुन: उपयोग किया कंटेनर) की कैश से आया, मैं के बाद स्वच्छ (ls -alh /tmp) /tmp जाँच की कोई फ़ाइलें है, लेकिन जब भंडारण (df /tmp) की जांच में यह पता चलता है कि अधिक इस्तेमाल किया 77% है।

स्वच्छ /tmp फ़ोल्डर या समाधान के आसपास काम करने के लिए कोई सुझाव बहुत सराहना करता है। धन्यवाद!

संपादित: कोड मैं /tmp फ़ोल्डर साफ करने के लिए उपयोग करें:

from subprocess import call 
... 
call('rm -rf /tmp/*', shell=True) 
+0

क्या आप कोड जोड़ सकते हैं जिसका उपयोग आप '/ tmp' में फ़ाइलों को हटाने के लिए करते हैं? –

+0

मैंने कोड जोड़ा है जिसे मैं क्लीन/tmp फ़ोल्डर में उपयोग करता हूं। –

उत्तर

0

कंटेनर अक्सर पुन: उपयोग किया जाता है, लेकिन समवर्ती नहीं। जब फ़ंक्शन समाप्त होता है और समस्या हल हो जाती है तो देखें कि अपनी temp निर्देशिका को साफ़ करें।

+0

मैंने कोशिश की है, मैंने शुरुआत में और कोड में अंत में साफ/tmp साफ़ किया है। –

संबंधित मुद्दे