Napisałem skrypt R, który pobiera dane z bazy danych, wykonuje na niej kilka operacji i umieszcza dane wyjściowe w nowej bazie danych.
Chciałbym, aby ten skrypt uruchamiał się codziennie o określonej godzinie, ale nie mogę znaleźć żadnego sposobu, aby to zrobić skutecznie.
Czy ktoś może polecić zasób, z którego mógłbym skorzystać, aby rozwiązać ten problem? Uruchamiam ten skrypt na komputerze z systemem Windows.
.R
i NIE.r
.Zakładając, że twój skrypt R znajduje
mytest.r
się wD:\mydocuments\
, możesz utworzyć plik wsadowy zawierający następujące polecenie:Następnie dodaj je jako nowe zadanie do harmonogramu zadań systemu Windows, ustawiając tam warunki wyzwalania.
Możesz również pominąć plik wsadowy. Ustaw
C:\R\R-2.10.1\bin\Rcmd.exe
w poluprogram/script
tekstowym w harmonogramie zadań i podaj jakoArguments
resztę początkowego polecenia:BATCH D:\mydocuments\mytest.r
Planowanie zadań języka R za pomocą Harmonogramu zadań systemu Windows (opublikowano 11 lutego 2015 r.)
taskcheduleR: Pakiet R do planowania skryptów R za pomocą menedżera zadań systemu Windows (opublikowano 17 marca 2016 r.)
EDYTOWAĆ
Niedawno ponownie przyjąłem użycie plików wsadowych, ponieważ chciałem zminimalizować okno cmd (nie mogłem znaleźć innego sposobu).
W szczególności wypełniam
Actions
kartę harmonogramu zadań systemu Windows w następujący sposób:Program/script:
cmd.exe
Add arguments (optional):
/ c start / min D: \ mydocuments \ mytest.bat ^ & exit
Zawartość mytest.bat :
C: \ R \ R-3.5.2 \ bin \ x64 \ Rscript.exe D: \ mydocuments \ mytest.r params
źródło
Rscript
jest lepsze niżR BATCH
. Systemy, które potrafią rozróżniać małe i duże litery, również otrzymująr
.Teraz w RStudio jest wbudowana opcja, aby to zrobić, aby uruchomić harmonogram pierwszej instalacji poniżej pakietów
Po zainstalowaniu przejdź do
źródło
Swoje zadania konfiguruję za pośrednictwem
SCHTASKS
programu. Aby uruchomić skrypty podczas uruchamiania, napisałbyś coś w styluWięcej informacji na ten temat można znaleźć w tej witrynie
SCHTASKS
. Więcej szczegółów na stronie Microsoft .źródło
Możesz użyć Harmonogramu zadań systemu Windows .
źródło
Konfigurowanie harmonogramu zadań
Krok 1) Otwórz harmonogram zadań (Start> wyszukaj Harmonogram zadań)
Krok 2) Kliknij „Akcja”> „Utwórz zadanie”
Krok 3) Wybierz „Uruchom tylko wtedy, gdy użytkownik jest zalogowany”, odznacz „Uruchom z najwyższymi uprawnieniami”, nazwij swoje zadanie, skonfiguruj dla „Windows Vista / Windows Server 2008”
Krok 4) Na karcie „Wyzwalacze” określ, kiedy chcesz uruchomić skrypt
Krok 5) W zakładce „Akcje” wpisz pełną lokalizację pliku Rscript.exe, tj
Umieścić nazwę skryptu zz
-e
orazsource()
w argumentach otoczenie go tak:Rozwiązywanie problemów ze skryptem Rscript zaplanowanym w Harmonogramie zadań
Po uruchomieniu skryptu za pomocą Harmonogramu zadań trudno jest rozwiązać jakiekolwiek problemy, ponieważ nie pojawiają się żadne komunikaty o błędach.
Można to rozwiązać za pomocą
sink()
funkcji w języku R, która umożliwia wyprowadzanie wszystkich komunikatów o błędach do określonego pliku. Oto jak możesz to zrobić:Inną rzeczą, którą będziesz musiał zmienić, aby skrypt Rscript działał, jest określenie pełnej ścieżki do wszystkich ścieżek plików w skrypcie.
To nie zadziała w harmonogramie zadań:
Będziesz musiał określić pełną ścieżkę do wszystkich skryptów, które pozyskujesz w swoim Rscript:
źródło
Po wykonaniu dowolnej kombinacji tych kroków i wyświetleniu
"Argument Batch Ignored"
błędu po uruchomieniu programu R.exe, spróbuj tego, zadziałało.W Harmonogramie zadań systemu Windows:
Zastąp
BATCH "C:\Users\desktop\yourscript.R"
w polu argumentówz
CMD BATCH --vanilla --slave "C:\Users\desktop\yourscript.R"
źródło