Планирование R Script

Я написал R script, который извлекает некоторые данные из базы данных, выполняет несколько операций над ним и публикует вывод в новую базу данных.

Я хотел бы, чтобы этот script запускался каждый день в определенное время, но я не могу найти способ сделать это эффективно.

Может ли кто-нибудь рекомендовать ресурс, на который я мог бы обратить внимание, чтобы решить эту проблему? Я запускаю этот script на компьютере под управлением Windows.

Ответ 1

На самом деле под Windows вам даже не нужно создавать пакетный файл, чтобы использовать Планировщик.

  • Откройте планировщик: СТАРТ → Все программы → Аксесуары → Системные инструменты → Планировщик
  • Создайте новую задачу
  • в разделе "Действие", создайте новое действие
  • выберите Запустить программу
  • найдите Rscript.exe, который должен быть размещен, например. Вот:
    "C:\Program Files\R\R-3.0.2\bin\x64\Rscript.exe"
  • введите имя своего файла в поле параметры
  • введите путь, в котором script находится в поле Начать в
  • перейдите на вкладку Триггеры.
  • создать новый триггер
  • выберите, что задача должна выполняться каждый день, месяц,... повторяется несколько раз или что вам нравится

Ответ 2

Предположим, что ваш R-скрипт - mytest.r, расположенный в D:\mydocuments\, вы можете создать командный файл, включающий следующую команду:

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

Затем добавьте его, как новую задачу, в планировщик задач Windows, установив там условия запуска.

Вы также можете опустить пакетный файл. Задайте C:\R\R-2.10.1\bin\Rcmd.exe в текстовом поле program/script в планировщике задач и укажите в качестве Arguments оставшуюся часть начальной команды: BATCH D:\mydocuments\mytest.r

Планирование задач R с помощью планировщика задач Windows (Опубликовано 11 февраля 2015 г.)

taskscheduleR: пакет R для планирования сценариев R с помощью диспетчера задач Windows (Опубликовано 17 марта 2016 г.)

РЕДАКТИРОВАТЬ

Недавно я снова принял использование пакетных файлов, потому что хотел, чтобы окно cmd было свернуто (я не мог найти другой путь).

В частности, я заполняю вкладку Actions планировщика задач Windows следующим образом:

Program/script:

cmd.exe

Add arguments (optional):

/c начало/мин. D:\mydocuments\mytest.bat ^ & exit

Содержимое mytest.bat:

C:\R\R-3.5.2\bin\x64\Rscript.exe D:\mydocuments\mytest.r params

Ответ 3

Я установил свои задачи с помощью программы SCHTASKS. Для запуска скриптов при запуске вы должны написать что-то вдоль строк

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

Подробнее о SCHTASKS см. этот сайт. Подробнее на веб-сайте Microsoft.

Ответ 5

Теперь для этого есть встроенная опция в RStudio, для запуска планировщика сначала установите следующие пакеты

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

После установки перейдите в

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

enter image description here

Ответ 6

После выполнения любой комбинации этих шагов и получения ошибки "Argument Batch Ignored" после запуска R.exe, попробуйте это, это сработало для меня.

В Планировщике задач Windows:

Замените BATCH "C:\Users\desktop\yourscript.R" в поле аргументов

с

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