पर खंड कोड आउटपुट रीडायरेक्ट करें मैं एक बुनाई फ़ाइल में एम्बेडेड कुछ सुंदर लंबी समांतर कंप्यूटेशंस की निगरानी करना चाहता हूं।Knitr: टर्मिनल
संगणना एक पैकेज मैं लिखा है पर भरोसा करते हैं, और प्रासंगिक समारोह में चलाना के लिए मल्टीकोर पैकेज से mclapply उपयोग करता है। यह फ़ंक्शन utils पैकेज से txtProgressBar के थोड़ा संशोधित कार्यान्वयन का उपयोग करके गणनाओं की प्रगति की निगरानी करने के लिए प्रगति सलाखों को आउटपुट करता है। प्रगति पट्टी टर्मिनल पर मुद्रित होती है और प्रत्येक बार mclapply का पुनरावृत्ति पूर्ण होने पर एक फीफो कनेक्शन के माध्यम से अपडेट किया जाता है।
यह फ़ाइल से सोर्सिंग या सीधे फ़ंक्शन को कॉल करते समय ठीक काम करता है, लेकिन मुझे यह knitr के भीतर काम करने के लिए कोई रास्ता नहीं मिलता है। मैंने प्रासंगिक खंड विकल्पों का प्रयास किया है, मैं टर्मिनल पर रीडायरेक्ट किए गए संदेश और चेतावनियां प्राप्त कर सकता हूं, लेकिन प्रगति पट्टी नहीं। क्या कोई मदद कर सकता है?
कम से कम काम करने वाला उदाहरण प्रदान करने के लिए खेद है, लेकिन मुझे नहीं लगता कि मैं इस सेटिंग में कैसे एक बना सकता हूं।
उत्तर @Yihui के लिए धन्यवाद, मैं उम्मीद कर रहा था कि आप छोड़ देंगे! मैं आपके पहले सुझाव की रेखा के साथ कुछ कोशिश करूंगा, दूसरा एक कम्प्यूटेशंस को कैश करने की क्षमता को खोने का संकेत देगा। मल्टीकोर मुद्दे अलग-अलग हैं, क्या आप किसी हिस्से में आयोजित गणनाओं की स्थिति की निगरानी करने के किसी भी तरीके से अवगत हैं? –
शायद आप अन्य स्थानों पर प्रगति लिख सकते हैं, जैसे फ़ाइल में: 'txtProgressBar (..., file =' progress_temp.txt ') '। या इसे stderr के लिए लिखें। मैं अपना जवाब अपडेट करूंगा। –
'StdErr()' हैक के लिए धन्यवाद, लागू करने के लिए सरल और अद्भुत काम करता है। जबकि मैं इसमें हूं, knitr के लिए धन्यवाद यह एक शानदार उपकरण है जिसे मैं दैनिक उपयोग करता हूं। –