Планирование 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.
Ответ 4
Вы можете использовать Планировщик задач Windows.
Ответ 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"