2016-08-12 1 views
2

У меня есть функция времени выполнения переменной, но для большинства случаев использования она будет меньше 20 секунд. Я хочу, чтобы скрипт для выполнения функции каждые 10 минут независимо от того, как долго функция фактически принимает (поэтому не может использовать команду сна или любой «ждать» команды)R-Получить скрипт для запуска каждые X минут независимо от времени выполнения.

+0

См. [это] (http://stackoverflow.com/questions/2793389/scheduling-r-script) или [это ] (http://stackoverflow.com/questions/10116411/schedule-r-script-using-cron) – Sumedh

+0

Не в ОС Windows или имеются доступные инструменты MS. В идеале я бы хотел, чтобы это работало с красным Hat – knowads

ответ

2

в цикле:

p1 <- Sys.time() 
yourFunct() 
theDelay <- 600-as.numeric(difftime(Sys.time(),p1,unit="secs")) 
Sys.sleep(max(0, theDelay) 

или добавить соответствующая обработка, когда функция занимает> 10 минут, если вы не хотите, чтобы она снова запускалась снова

+1

Спасибо. Это не должно занимать больше 10 минут, если не будет массовой ошибки пользователя. – knowads

+1

@knowads Тогда вы должны, вероятно, сделать, если (theDelay <= 0) stop («Massive User Error !!!») или что-то в этом роде. – AlexR

Смежные вопросы