Nothing
## ----echo=FALSE---------------------------------------------------------------
knitr::opts_chunk$set(
collapse = FALSE,
comment = "",
out.width = "100%",
cache = FALSE,
asciicast_knitr_output = "html"
)
asciicast::init_knitr_engine(
echo = TRUE,
echo_input = FALSE,
same_process = TRUE,
startup = quote({
library(maestro)
set.seed(1)
})
)
options(asciicast_theme = "pkgdown")
## ----eval=FALSE---------------------------------------------------------------
# #' ./pipelines/conditional1.R
# #' @maestroFrequency 1 day
# #' @maestroRunIf sample(c(TRUE, FALSE), size = 1)
# random_execution <- function() {
# message("Maybe, maybe not")
# }
## ----echo=FALSE, warning=FALSE, message=FALSE---------------------------------
invisible(unlink("pipelines", recursive = TRUE))
dir.create("pipelines")
writeLines(
"
#' @maestroFrequency 1 day
#' @maestroRunIf TRUE
random_execution <- function() {
message('Maybe, maybe not')
}",
con = "pipelines/conditional1.R"
)
## ----eval=FALSE---------------------------------------------------------------
# #' ./pipelines/conditional2.R
# #' @maestroFrequency 1 hour
# extract_flights <- function() {
#
# # Pretends to fetch data from an API
# data.frame(
# flight_id = 1:5,
# airline_code = c("UA", "AC", "AC", "AA", "DE"),
# departure_time = as.POSIXct("2025-10-14 12:00:00") + c(100, 450, 750, 1450, 1750)
# )
# }
#
# #' @maestroInputs extract_flights
# #' @maestroRunIf
# #' is.data.frame(.input) && nrow(.input) > 0
# transform_flights <- function(.input) {
#
# proc_data <- .input
#
# proc_data <- proc_data |>
# dplyr::filter(
# flight_id > 5
# ) |>
# dplyr::mutate(
# departing_from = "YHZ"
# )
#
# proc_data
# }
#
# #' @maestroInputs transform_flights
# #' @maestroRunIf
# #' is.data.frame(.input) && nrow(.input) > 0
# load_flights <- function(.input) {
#
# write.csv("flights.csv")
# }
## ----echo=FALSE, warning=FALSE, message=FALSE---------------------------------
invisible(unlink("pipelines", recursive = TRUE))
dir.create("pipelines")
writeLines(
"
#' ./pipelines/conditional1.R
#' @maestroFrequency 1 hour
extract_flights <- function() {
# Pretends to fetch data from an API
data.frame(
flight_id = 1:5,
airline_code = c('UA', 'AC', 'AC', 'AA', 'DE'),
departure_time = as.POSIXct('2025-10-14 12:00:00') + c(100, 450, 750, 1450, 1750)
)
}
#' @maestroInputs extract_flights
#' @maestroRunIf
#' is.data.frame(.input) && nrow(.input) > 0
transform_flights <- function(.input) {
proc_data <- .input
proc_data <- proc_data |>
dplyr::filter(
flight_id > 5
) |>
dplyr::mutate(
departing_from = 'YHZ'
)
proc_data
}
#' @maestroInputs transform_flights
#' @maestroRunIf
#' is.data.frame(.input) && nrow(.input) > 0
load_flights <- function(.input) {
write.csv('flights.csv')
}
",
con = "pipelines/conditional2.R"
)
## ----eval=FALSE---------------------------------------------------------------
# #' ./pipelines/conditional3.R
# #' @maestroFrequency 1 day
# #' @maestroRunIf prod
# process_payments <- function() {
#
# # Some code that does important payment processing stuff
# # but only in production!
#
# message("Payments processed")
# }
## ----echo=FALSE, warning=FALSE, message=FALSE---------------------------------
invisible(unlink("pipelines", recursive = TRUE))
dir.create("pipelines")
writeLines(
"
#' @maestroFrequency 1 day
#' @maestroRunIf prod
process_payments <- function() {
# Some code that does important payment processing stuff
# but only in production!
message('Payments processed')
}",
con = "pipelines/conditional3.R"
)
## ----cleanup, echo=FALSE, message=FALSE, warning=FALSE------------------------
invisible(unlink("pipelines", recursive = TRUE))
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.