2010-05-08 11 views
71

मैंने एक आर स्क्रिप्ट लिखी है जो डेटाबेस से कुछ डेटा खींचती है, उस पर कई संचालन करती है और आउटपुट को एक नए डेटाबेस में पोस्ट करती है।शेड्यूलिंग आर स्क्रिप्ट

मैं इस स्क्रिप्ट को एक निश्चित समय पर हर दिन चलाने के लिए चाहता हूं लेकिन मुझे इसे प्रभावी ढंग से करने का कोई तरीका नहीं मिल रहा है।

क्या कोई भी ऐसे संसाधन की सिफारिश कर सकता है जिसे मैं इस मुद्दे को हल करने के लिए देख सकता हूं? मैं इस स्क्रिप्ट को विंडोज मशीन पर चला रहा हूं।

उत्तर

3

आप Windows Task Scheduler का उपयोग कर सकते हैं। अपने अनुसंधान स्क्रिप्ट

48

जाना चाहिए mytest.r, D:\mydocuments\ में स्थित है, तो आप निम्न आदेश सहित एक बैच फ़ाइल बना सकते हैं:

C:\R\R-2.10.1\bin\Rcmd.exe BATCH D:\mydocuments\mytest.r 

तो यह, एक नया कार्य के रूप में, Windows कार्य शेड्यूलर में जोड़ने के लिए, वहाँ की स्थापना परिस्थितियों को ट्रिगर करना

आप बैच फ़ाइल को भी छोड़ सकते हैं। कार्य अनुसूचक में program/script पाठ बॉक्स में C:\R\R-2.10.1\bin\Rcmd.exe सेट करें, और Arguments के रूप में प्रारंभिक आदेश के बाकी दे: BATCH D:\mydocuments\mytest.r

Scheduling R Tasks via Windows Task Scheduler (2015 11 फरवरी को प्रकाशित किया गया था)

taskscheduleR: R package to schedule R scripts with the Windows task manager (2016 17 मार्च को प्रकाशित किया गया था)

+15

का उपयोग के साथ '' Rscript' आर BATCH' बेहतर है। सिस्टम जो निम्न-और ऊपरी-मामले के बीच अंतर कर सकते हैं, भी 'आर' प्राप्त करते हैं। –

+0

धन्यवाद, मैंने इसका इस्तेमाल नहीं किया था। जैसा कि मैंने देखा, तर्क भी स्क्रिप्ट को पास किया जा सकता है और कमांडअर्स –

3

मैंने अपने कार्यों को SCHTASKS प्रोग्राम के माध्यम से सेट अप किया है। स्टार्टअप पर स्क्रिप्ट चला के लिए, आप

SCHTASKS /Create /SC ONSTART /TN MyProgram /TR "R CMD BATCH --vanilla d:\path\to\script.R" 

की तर्ज पर कुछ SCHTASKS बारे में अधिक जानकारी के लिए this website देखें लिखेंगे। Microsoft's website पर अधिक जानकारी।

65

वास्तव में विंडोज के तहत आपको शेड्यूलर का उपयोग करने के लिए पहले बैच फ़ाइल बनाने की भी आवश्यकता नहीं है।

  • ओपन अनुसूचक: START -> सभी कार्यक्रम -> Accessories -> सिस्टम उपकरण -> समयबद्धक
  • एक नई क्रिया टैब कार्रवाई के तहत एक नया टास्क
  • बनाएँ, बनाने
  • चुनें प्रोग्राम
  • पर ब्राउज़ करें percript.exe जिसे रखा जाना चाहिए उदाहरण के लिए यहां:
    "सी: \ प्रोग्राम फ़ाइलें \ R \ R-3.0.2 \ bin \ x64 \ प्रतिलेख।exe "
  • इनपुट मानकों में अपनी फ़ाइल क्षेत्र
  • इनपुट पथ जहाँ स्क्रिप्ट क्षेत्र
  • में प्रारंभ में पाया जा सकता ट्रिगर करने के लिए जाना है के नाम टैब
  • नया ट्रिगर
  • चुनें कि कार्य प्रत्येक दिन प्रत्येक दिन, महीने, दो बार दोहराया जाना चाहिए, या क्या कभी आप
+2

का उपयोग करके एक्सेस किया जा सकता है हां, धन्यवाद! यह मेरे लिए काम करता है, ऊपर नहीं और वेब के चारों ओर तैरने वाले कई अन्य उत्तरों नहीं। मैं केवल यह जोड़ूंगा कि फ़ाइल एक्सटेंशन 'आर' और नहीं' .'' है। – esa606

+0

इसका मतलब क्या है - आप क्या होने की उम्मीद करेंगे? शायद इसे अपने आप में एक प्रश्न में जाना चाहिए (शायद एसओ पर पहले से ही एक जवाब है)। – petermeissner

0

तरह इन चरणों का पालन करने के बाद के किसी भी संयोजन और आप "Argument Batch Ignored" त्रुटि प्राप्त R.exe चलाता है के बाद, इस कोशिश, यह मेरे लिए काम किया।

Windows कार्य शेड्यूलर में:

तर्क क्षेत्र

में BATCH "C:\Users\desktop\yourscript.R" बदलें

CMD BATCH --vanilla --slave "C:\Users\desktop\yourscript.R"

+1

यह मार्क बेयर्स के उत्तर (या शायद उस उत्तर में एक संपादन) पर एक टिप्पणी के रूप में समझ में आता है, मुझे नहीं लगता कि यह अकेले खड़ा हो सकता है। – Gregor

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