% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/build_schedule.R
\name{build_schedule}
\alias{build_schedule}
\title{Build a schedule}
\usage{
build_schedule(pipeline_dir = "./pipelines", cores = 1L, quiet = FALSE)
}
\arguments{
\item{pipeline_dir}{path to directory containing the pipeline scripts}

\item{cores}{number of cpu cores to use when parsing pipeline scripts. If > 1,
\code{furrr} is used and a multisession plan must be set in the orchestrator
(e.g. \code{future::plan(future::multisession)}). See \code{run_schedule()} for details.}

\item{quiet}{silence metrics to the console (default = \code{FALSE})}
}
\value{
MaestroSchedule
}
\description{
Builds a \code{MaestroSchedule} object for use in \code{run_schedule()}.
}
\details{
This function parses the maestro tags of functions located in \code{pipeline_dir} which is
conventionally called 'pipelines'. An orchestrator requires a \code{MaestroSchedule}
to determine which pipelines are to run and when. Each pipeline in the schedule
is a parsed function and its scheduling parameters such as its frequency.

The \code{MaestroSchedule} is mostly intended to be passed directly to \code{run_schedule()}.
In other words, it is not recommended to make changes to it.
}
\examples{

# Creating a temporary directory for demo purposes! In practice, just
# create a 'pipelines' directory at the project level.

if (interactive()) {
  pipeline_dir <- tempdir()
  create_pipeline("my_new_pipeline", pipeline_dir, open = FALSE)
  build_schedule(pipeline_dir = pipeline_dir)
}
}
