Планирование сценария R, который показывает всплывающее окно / окно сообщения в случае ошибки в Windows - PullRequest
0 голосов
/ 06 ноября 2018

Моя цель состоит в том, чтобы каждые 5 минут проверять http-статус веб-сайта и выдавать предупреждающее сообщение, если его не 200. Для простоты я хотел бы обсудить свой вопрос на основе приведенного ниже фрагмента кода.

library(httr)

a <- status_code(GET("http://httpbin.org/status/404"))

if (a == 404) system('CMD /C "ECHO Client error: (404) Not Found && PAUSE"', 
                 invisible=FALSE, wait=FALSE)

Последний бит, начинающийся с system, найденный в

https://heuristically.wordpress.com/2013/04/19/popup-notification-from-r-on-windows/

и

Показать всплывающее окно / окно сообщения из пакетного файла Windows

Строки выше приводят к
enter image description here

Это окно с сообщением C: \ windows \ SYSTEM32 \ CMD.exe, которое гласит:

Ошибка клиента: (404) не найден

Нажмите любую клавишу, чтобы продолжить ...

Есть ли возможность добавить Sys.time () в это сообщение?

Используя taskcheduleR я запланировал скрипт выше. Чтобы получить помощь см .:

http://bnosac.be/index.php/blog/50-taskscheduler-r-package-to-schedule-r-scripts-with-the-windows-task-manager-2

library(taskscheduleR)

myscript <- "the address of your r script"

taskscheduler_create(taskname = "myfancyscript_5min", rscript = myscript, 
                 schedule = "MINUTE", starttime = "11:20", modifier = 5)

В этом случае окно с сообщением, которое я получаю, показано ниже. Обратите внимание, что на этот раз это без сообщения.

Как получить сообщение, написанное при запуске сценария с помощью планировщика задач?

enter image description here

1 Ответ

0 голосов
/ 06 ноября 2018

Вам просто нужно отредактировать первую часть кода. Как указано в комментарии, мы будем использовать уведомитель:

https://github.com/gaborcsardi/notifier

Если у вас возникли проблемы с установкой уведомителя, я смог установить его только с помощью приведенной ниже команды.

devtools::install_version("notifier")

Заменить первый бит следующим:

library(httr)

library(notifier)

a <- status_code(GET("http://httpbin.org/status/404"))

if (a == 404) notify(
                 title = "404",
                 msg = c("Client error: (404) Not Found")

)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...