-
Notifications
You must be signed in to change notification settings - Fork 0
/
r-cron.Rmd
77 lines (51 loc) · 4.95 KB
/
r-cron.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
---
title: "Запуск скриптов R по расписанию"
output:
html_document:
includes:
in_header: ga.html
after_body: gtm.html
---
Возможность исполнять написанные скрипты по расписанию позволяет решать большое количество важных задач от ETL до формирования и отправки отчетности по почте или в мессенджер
***
## Установка библиотеки Cron
В каждой операционной системе есть возможность запускать файлы по расписанию. В Windows - планировщик задач, в Linux - Cron. Чтобы установить нужную нам библиотеку, необходимо выполнить код:
```{r eval=FALSE}
install.packages('cronR', dependencies = TRUE)
```
После установки, в меню "Addins" у нас появится новый раздел - **"Schedule R scripts on Linux/Unix"**
![](images/addins-cron.png)
***
## Интерфейс Schedule R scripts
Для удобства работы с данной библиотекой был разработан UI с понятной навигацией. Разберём интерфейс.
После перехода по ссылке у нас откроется pop-up с двумя вкладками(внизу):
* Upload and create new jobs
* Manage existing jobs
![](images/scheduler-ui.png)
Как понятно из названия, первая вкладка отвечает за настройку и запуск расписаний для скриптов, а вторая отвечает за управление, уже запущенными расписаниями.
***
## Запуск скрипта R по расписанию
В качестве скрипта может выступать любой файл с расширением R. Например, я запускаю каждый день по расписанию скрипт, который скачивает данные из Google Analytics и записывает результат в таблицу Google Sheets.
Проведём тестовую настройку
В качестве скрипта может выступать любой файл с расширением R. Например, я запускаю каждый день по расписанию скрипт, который скачивает данные из Google Analytics и записывает результат в таблицу Google Sheets
Проведём тестовую настройку:
* Select File - выбирает файл, который необходимо исполнять по расписанию
* Selected Rscript - показывает путь до файла(пригодится)
* Launch date - дата первого запуска
* Launch hour - час и минута первого запуска
* Schedule - периодичность выполнения(Once - один раз, Every min/hour/day/week/month - тут понятно, Asis - более мелкие периоды времени, что указываются в поле **ASIS cron schedule**)
* Job description - текстовое описание запускаемого расписания
* Job identifier - идентификатор, по которому мы потом будем искать нужный нам скрипт в панели **Manage existing jobs**
* Rscript repository path: launch & log location - служба cron не только исполняет скрипты по расписанию, но и пишет логи результатов, поэтому тут стоит указать адрес такой же, как для исполняемого скрипта. Чтобы оба файла лежали в одном месте
***
## Управление расписание скриптов
Во второй вкладке нас интересует одно поле и две кнопки:
* Select job - выбираем идентификатор нужного файла
* Show job - в консоли выводится детальная информация по расписанию(время запуска, периодичность, название и описание)
* Delete job - удаление расписания
Теперь вы сможете самостоятельно настроить расписание для автоматического выполнения скриптов R
***
## Дополнительные материалы
* [Запуск скриптов R по расписанию](http://baikulov.pro/r-cron.html)
* [Установка R-Studio через Docker](http://baikulov.pro/r-linux.html)
* [Установка R-Studio через Docker](http://baikulov.pro/r-docker.html)