knitr::opts_chunk$set(comment = "#>", collapse = TRUE)
Schedule R scripts/processes with the Windows task scheduler. This allows R users working on Windows to automate R processes on specific timepoints from R itself.
The package allows to
Get the list of scheduled tasks
Remove a task
Add a task
A task is basically a script with R code which is run through Rscript
You can schedule tasks 'ONCE', 'MONTHLY', 'WEEKLY', 'DAILY', 'HOURLY', 'MINUTE', 'ONLOGON', 'ONIDLE'
The task log contains the stdout & stderr of the Rscript which was run on that timepoint. This log can be found at the same folder as the R script
Example usage:
knitr::opts_chunk$set(comment = "#>", collapse = TRUE, eval = FALSE)
library(taskscheduleR) myscript <- system.file("extdata", "helloworld.R", package = "taskscheduleR") ## run script once within 62 seconds taskscheduler_create(taskname = "myfancyscript", rscript = myscript, schedule = "ONCE", starttime = format(Sys.time() + 62, "%H:%M")) ## Run every day at the same time on 09:10, starting from tomorrow on ## Mark: change the format of startdate to your locale if needed (e.g. US: %m/%d/%Y) taskscheduler_create(taskname = "myfancyscriptdaily", rscript = myscript, schedule = "DAILY", starttime = "09:10", startdate = format(Sys.Date()+1, "%d/%m/%Y")) ## Run every week on Saturday and Sunday at 09:10 taskscheduler_create(taskname = "myfancyscript_sunsat", rscript = myscript, schedule = "WEEKLY", starttime = "09:10", days = c('SUN', 'SAT')) ## Run every 5 minutes, starting from 10:40 taskscheduler_create(taskname = "myfancyscript_5min", rscript = myscript, schedule = "MINUTE", starttime = "10:40", modifier = 5) ## Run every minute, giving some command line arguments taskscheduler_create(taskname = "myfancyscript_withargs_a", rscript = myscript, schedule = "MINUTE", rscript_args = "productxyz 20160101") taskscheduler_create(taskname = "myfancyscript_withargs_b", rscript = myscript, schedule = "MINUTE", rscript_args = c("productabc", "20150101")) ## get a data.frame of all tasks tasks <- taskscheduler_ls() str(tasks) ## delete the tasks taskscheduler_delete(taskname = "myfancyscript") taskscheduler_delete(taskname = "myfancyscriptdaily") taskscheduler_delete(taskname = "myfancyscript_sunsat") taskscheduler_delete(taskname = "myfancyscript_5min") taskscheduler_delete(taskname = "myfancyscript_withargs_a") taskscheduler_delete(taskname = "myfancyscript_withargs_b")
When the task has run, you can look at the log which contains everything from stdout and stderr. The log file is located at the directory where the R script is located.
## log file is at the place where the helloworld.R script was located system.file("extdata", "helloworld.log", package = "taskscheduleR")
If you work with RStudio as editor, you can also just use the RStudio addin. In recent versions of RStudio (0.99.893 or later), select Addins and next select 'Schedule R scripts on Windows'. This will allow you to select a script to be scheduled at your specified timepoints. The script will be copied to the Rscript repo folder and will be launched from there each time.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.