Ich habe ein R-Skript geschrieben, das einige Daten aus einer Datenbank abruft, mehrere Operationen daran ausführt und die Ausgabe in eine neue Datenbank sendet.
Ich möchte, dass dieses Skript jeden Tag zu einer bestimmten Zeit ausgeführt wird, kann jedoch keine Möglichkeit finden, dies effektiv zu tun.
Kann jemand eine Ressource empfehlen, die ich mir ansehen könnte, um dieses Problem zu lösen? Ich führe dieses Skript auf einem Windows-Computer aus.
.R
und NICHT.r
.Angenommen, Ihr R-Skript befindet
mytest.r
sich inD:\mydocuments\
, können Sie eine Batchdatei mit dem folgenden Befehl erstellen:Fügen Sie es dann als neue Aufgabe zum Windows-Taskplaner hinzu und legen Sie dort die Auslösebedingungen fest.
Sie können die Batchdatei auch weglassen. Stellen Sie
C:\R\R-2.10.1\bin\Rcmd.exe
dasprogram/script
Textfeld im Taskplaner ein und geben Sie alsArguments
Rest des Anfangsbefehls Folgendes an:BATCH D:\mydocuments\mytest.r
Planen von R-Aufgaben über Windows Task Scheduler (Veröffentlicht am 11. Februar 2015)
taskscheduleR: R-Paket zum Planen von R-Skripten mit dem Windows-Task-Manager (Veröffentlicht am 17. März 2016)
BEARBEITEN
Ich habe kürzlich wieder die Verwendung von Batch-Dateien übernommen, weil ich wollte, dass das cmd-Fenster minimiert wird (ich konnte keinen anderen Weg finden).
Insbesondere fülle ich die
Actions
Registerkarte Windows Task Scheduler wie folgt aus:Program/script:
cmd.exe
Add arguments (optional):
/ c start / min D: \ mydocuments \ mytest.bat ^ & exit
Inhalt von mytest.bat :
C: \ R \ R-3.5.2 \ bin \ x64 \ Rscript.exe D: \ mydocuments \ mytest.r-Parameter
quelle
Rscript
ist vorzuziehenR BATCH
. Systeme, die zwischen Klein- und Großbuchstaben unterscheiden können, erhaltenr
ebenfalls.Jetzt gibt es in RStudio eine integrierte Option, um den Scheduler auszuführen und zuerst die folgenden Pakete zu installieren
Nach der Installation gehen Sie zu
quelle
Ich richte meine Aufgaben über das
SCHTASKS
Programm ein. Wenn Sie beim Start Skripte ausführen möchten, schreiben Sie etwas in der Art vonSehen Sie diese Website , um weitere Informationen zu
SCHTASKS
. Weitere Informationen finden Sie auf der Microsoft-Website .quelle
Sie können den Windows Task Scheduler verwenden .
quelle
Einrichten des Taskplaners
Schritt 1) Öffnen Sie den Taskplaner (Start> Suche Taskplaner)
Schritt 2) Klicken Sie auf "Aktion"> "Aufgabe erstellen".
Schritt 3) Wählen Sie "Nur ausführen, wenn der Benutzer angemeldet ist", deaktivieren Sie "Mit höchsten Berechtigungen ausführen", benennen Sie Ihre Aufgabe und konfigurieren Sie sie für "Windows Vista / Windows Server 2008".
Schritt 4) Legen Sie auf der Registerkarte "Trigger" fest, wann das Skript ausgeführt werden soll
Schritt 5) Geben Sie auf der Registerkarte "Aktionen" den vollständigen Speicherort der Datei "Rscript.exe" ein, d. H.
Fügen Sie den Namen Ihres Skripts mit
-e
undsource()
in Argumente ein, die es wie folgt umschließen:Fehlerbehebung bei einem im Taskplaner geplanten Rscript
Wenn Sie ein Skript mit dem Taskplaner ausführen, ist es schwierig, Probleme zu beheben, da keine Fehlermeldungen angezeigt werden.
Dies kann mithilfe der
sink()
Funktion in R behoben werden, mit der Sie alle Fehlermeldungen in eine von Ihnen angegebene Datei ausgeben können. So können Sie das machen:Die andere Sache, die Sie ändern müssen, damit Ihr Rscript funktioniert, ist die Angabe des vollständigen Dateipfads aller Dateipfade in Ihrem Skript.
Dies funktioniert im Taskplaner nicht:
Sie müssen den vollständigen Dateipfad aller Skripte angeben, die Sie in Ihrem Rscript beziehen:
quelle
Nachdem Sie eine beliebige Kombination dieser Schritte ausgeführt haben und
"Argument Batch Ignored"
nach dem Ausführen von R.exe die Fehlermeldung angezeigt wird, versuchen Sie dies. Es hat bei mir funktioniert.Im Windows Taskplaner:
Ersetzen Sie
BATCH "C:\Users\desktop\yourscript.R"
im Feld Argumentemit
CMD BATCH --vanilla --slave "C:\Users\desktop\yourscript.R"
quelle