2013-02-15 32 views
19

मेरे पास एक स्क्रिप्ट है जिसे मेरे डेटा पर चलाने की आवश्यकता है। मैंने इसके लिए एक रेक कार्य किया है। अगर मैं उसकेोकू रन रेक का उपयोग करके रेक कार्य शुरू करता हूं my_task: my_action और थोड़ी देर के बाद मेरा इंटरनेट डिस्कनेक्ट हो जाता है। क्या हुआ होगा। क्या कार्य जारी रहेगा क्योंकि इसे रिमोट मशीन पर शुरू किया गया है। मुझे लगता है कि यह चलना जारी रहेगा। कोई विचार।अगर मैं अपना टर्मिनल बंद करता हूं तो हेरोकू पर एक रेक कार्य शुरू होता है

+1

आप इसे क्यों नहीं देखते हैं? – gabrielhilal

उत्तर

59

प्रक्रियाओं एक one-off dyno (dyno की तरह है कि heroku run command साथ उपलब्ध होने पर) को चलाने के लिए अपने स्थानीय टर्मिनल से जुड़ा हुआ में शुरू किया था और यदि आपके इंटरनेट डिस्कनेक्ट या आप स्थानीय रूप से आदेश को रद्द समाप्त कर देगा।

एक बंद dyno है कि एक प्रक्रिया पर अमल करने के लिए अपने स्थानीय टर्मिनल, use heroku run:detached से जुड़ी नहीं:

$ heroku run:detached bundle exec rake my_task:my_action 
Running `bundle exec rake my_task:my_action` detached... up, run.7562 
Use `heroku logs -p run.7562` to view the output. 

आत्मनिरीक्षण करने के लिए एक बंद dyno अभी भी प्रयोग heroku ps चल रहा है या नहीं। वन-ऑफ़ डिनोस का नाम run.X है जहां X कुछ संख्या है।

0

कोशिश करने और खोज करने के बाद दोस्तों ने मुझे पाया है कि सामान्य परिस्थितियों में यह जारी नहीं रहता है। जब टर्मिनल पाइप टूट जाता है और यह जारी रखने के लिए बंद हो जाता है।

1

यदि आप डिस्कनेक्ट हो जाते हैं तो अपनी स्क्रिप्ट/रेक को तोड़ने से रोकने के लिए आप screen में अपना रेक चला सकते हैं।

http://www.gnu.org/software/screen/manual/screen.html