# Create a scheduler instance without cache
scheduler <- sched::Scheduler$new(cache_dir = NULL)
# Define a rule with default values
scheduler$setRule('www.ebi.ac.uk')
# Create a request object
u <- 'https://www.ebi.ac.uk/webservices/chebi/2.0/test/getCompleteEntity'
url <- sched::URL$new(url=u, params=c(chebiId=15440))
request <- sched::Request$new(url)
# Send the request and get the content result
content <- scheduler$sendRequest(request)
## ------------------------------------------------
## Method `Scheduler$new`
## ------------------------------------------------
# Create a scheduler instance with a custom default_rule
scheduler <- sched::Scheduler$new(default_rule=sched::Rule$new(10, 1),
cache_dir = NULL)
## ------------------------------------------------
## Method `Scheduler$setRule`
## ------------------------------------------------
# Create a scheduler instance
scheduler <- sched::Scheduler$new(cache_dir = NULL)
# Define a rule with default values
scheduler$setRule('www.ebi.ac.uk')
# Define a rule with custome values
scheduler$setRule('my.other.site', n=10, lap=3)
## ------------------------------------------------
## Method `Scheduler$sendRequest`
## ------------------------------------------------
# Create a scheduler instance
scheduler <- sched::Scheduler$new(cache_dir = NULL)
# Define a scheduling rule of 7 requests every 2 seconds
scheduler$setRule('www.ebi.ac.uk', n=7, lap=2)
# Create a request object
u <- 'https://www.ebi.ac.uk/webservices/chebi/2.0/test/getCompleteEntity'
url <- sched::URL$new(url=u, params=c(chebiId=15440))
request <- sched::Request$new(url)
# Send the request and get the content result
content <- scheduler$sendRequest(request)
## ------------------------------------------------
## Method `Scheduler$downloadFile`
## ------------------------------------------------
# Create a scheduler instance
scheduler <- sched::Scheduler$new(cache_dir = NULL)
# Create a temporary directory
tmp_dir <- tempdir()
# Download a file
u <- sched::URL$new(
'https://gitlab.com/cnrgh/databases/r-sched/-/raw/main/README.md',
c(ref_type='heads'))
scheduler$downloadFile(u, file.path(tmp_dir, 'README.md'))
# Remove the temporary directory
unlink(tmp_dir, recursive = TRUE)
## ------------------------------------------------
## Method `Scheduler$getUrlString`
## ------------------------------------------------
# Create a scheduler instance
scheduler <- sched::Scheduler$new(cache_dir = NULL)
# Create a URL string
url.str <- scheduler$getUrlString(
'https://www.ebi.ac.uk/webservices/chebi/2.0/test/getCompleteEntity',
params=c(chebiId=15440))
## ------------------------------------------------
## Method `Scheduler$getUrl`
## ------------------------------------------------
# Create a scheduler instance
scheduler <- sched::Scheduler$new(cache_dir = NULL)
# Send request
content <- scheduler$getUrl(
'https://www.ebi.ac.uk/webservices/chebi/2.0/test/getCompleteEntity',
params=c(chebiId=15440))
## ------------------------------------------------
## Method `Scheduler$deleteRules`
## ------------------------------------------------
# Create a scheduler instance
scheduler <- sched::Scheduler$new(cache_dir = NULL)
# Define a rule with custome values
scheduler$setRule('my.other.site', n=10, lap=3)
# Delete all defined rules
scheduler$deleteRules()
## ------------------------------------------------
## Method `Scheduler$getNbRules`
## ------------------------------------------------
# Create a scheduler instance
scheduler <- sched::Scheduler$new(cache_dir = NULL)
# Get the number of defined rules
print(scheduler$getNbRules())
## ------------------------------------------------
## Method `Scheduler$setOffline`
## ------------------------------------------------
# Create a scheduler instance
scheduler <- sched::Scheduler$new(cache_dir = NULL)
# Enable offline mode
scheduler$setOffline(TRUE)
## ------------------------------------------------
## Method `Scheduler$isOffline`
## ------------------------------------------------
# Create a scheduler instance
scheduler <- sched::Scheduler$new(cache_dir = NULL)
# Test if offline mode is enabled
if (scheduler$isOffline())
print("Scheduler is offline.")
Run the code above in your browser using DataLab