web-dev-qa-db-fra.com

Planification d'un script R

J'ai écrit un script R qui extrait des données d'une base de données, effectue plusieurs opérations dessus et en publie le résultat dans une nouvelle base de données.

J'aimerais que ce script soit exécuté tous les jours à une heure précise, mais je ne trouve aucun moyen de le faire efficacement.

Quelqu'un peut-il recommander une ressource sur laquelle je pourrais me tourner pour résoudre ce problème? J'exécute ce script sur une machine Windows.

97
ETD

En fait, sous Windows, vous n'avez même pas besoin de créer un fichier de commandes avant d'utiliser le planificateur.

  • Ouvrez le planificateur: Démarrer -> Tous les programmes -> Accessoires -> Outils système -> Planificateur
  • Créer une nouvelle tâche
  • sous l'onglet Action, créez un nouvelle action
  • choisissez Démarrer le programme
  • parcourez jusqu’à Rscript.exe qui doit être placé, par exemple. ici:
    "C:\Program Files\R\R-3.0.2\bin\x64\Rscript.exe"
  • entrez le nom de votre fichier dans le champ parameters
  • entrez le chemin où se trouve le script dans le champ Démarrer dans
  • aller à l'onglet Déclencheurs
  • créer nouveau déclencheur
  • choisir cette tâche doit être fait chaque jour, mois, ... répété plusieurs fois, ou celui que vous aimez
95
petermeissner

En supposant que votre script R soit mytest.r, Situé dans D:\mydocuments\, Vous pouvez créer un fichier de traitement par lots comprenant la commande suivante:

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

Ajoutez-le ensuite, en tant que nouvelle tâche, au planificateur de tâches Windows, définissez-y les conditions de déclenchement.

Vous pouvez également omettre le fichier de commandes. Définissez C:\R\R-2.10.1\bin\Rcmd.exe Dans la zone de texte program/script Du planificateur de tâches et donnez comme Arguments le reste de la commande initiale: BATCH D:\mydocuments\mytest.r

Planification de tâches R via le planificateur de tâches Windows (Posté le 11 février 2015)

taskscheduleR: paquet R pour planifier des scripts R avec le gestionnaire de tâches Windows (Posté le 17 mars 2016)

[~ # ~] éditer [~ # ~]

J'ai récemment adopté à nouveau l'utilisation de fichiers de commandes, car je souhaitais que la fenêtre cmd soit réduite (je ne pouvais pas trouver un autre moyen).

Plus précisément, je remplis l'onglet du planificateur de tâches Windows Actions comme suit:

Program/script:

cmd.exe

Add arguments (optional):

/ c start/min D:\mydocuments\mytest.bat ^ & exit

Contenu de mytest.bat:

C:\R\R-3.5.2\bin\x64\Rscript.exe Paramètres D:\mydocuments\mytest.r

57
George Dontas

J'ai configuré mes tâches via le programme SCHTASKS. Pour exécuter des scripts au démarrage, vous devez écrire quelque chose dans le sens de

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

Voir ce site pour plus de détails sur SCHTASKS. Plus de détails sur site Web de Microsoft .

4
Roman Luštrik

Vous pouvez utiliser Planificateur de tâches Windows .

3
Mark Byers

RStudio a maintenant une option intégrée pour le faire, pour lancer la première installation du planificateur sous les paquets

  install.packages('data.table')
  install.packages('knitr')
  install.packages('miniUI')
  install.packages('shiny')
  install.packages("taskscheduleR", repos = "http://www.datatailor.be/rcube", type = 
  "source")

Après l'installation, allez à

**TOOLS -> ADDINS ->BROWSE ADDINS ->taskscheduleR -> Select it and execute it.**

enter image description here

3
Zeeshan

Après avoir suivi une combinaison quelconque de ces étapes et reçu le "Argument Batch Ignored" erreur après l'exécution de R.exe, essayez ceci, cela a fonctionné pour moi.

Dans le Planificateur de tâches Windows:

Remplacer BATCH "C:\Users\desktop\yourscript.R"dans le champ des arguments

avec

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

0
Starbucks