Changelog
Source:NEWS.md
maestro 0.5.0.9000
New features
Pipeline errors, warnings, and messages can now be printed to the console using
run_schedule(log_to_console = TRUE)
. These logs will be interwoven between messages created bymaestro
(#130).run_schedule()
gainslog_to_file
argument to specify whether to log to a file (replaceslogging
andlog_file
arguments).
Deprecated functionality
-
run_schedule()
argumentslogging
andlog_file
are deprecated. Uselog_to_file = TRUE
to log to a generic maestro.log file orlog_to_file = '[path-to-your-log-file]'
to log to a specific text file.
Minor changes
-
run_schedule()
now warns if the unit oforch_frequency
is lower frequency than the highest frequency pipeline in the project.
Bug fixes
Message and warning counts are now properly displayed in the status and output of
run_schedule()
, as well as inlast_run_messages()
andlast_run_warnings()
, even if they are below themaestroLogLevel
.Fixed display of
run_schedule()
to have more accurate next run times for pipelines. This issue was evident when running orchestrator on a frequency of daily or lower.
maestro 0.4.0
CRAN release: 2024-11-21
New features
Directed acyclic graph (DAG) pipelines - where the output of one pipeline can feed into another - are now available using the
maestroOutputs
andmaestroInputs
tags. Pipelines that input into a downstream pipeline should use themaestroOutputs
tag. Pipelines that receive input from an upstream pipeline should use themaestroInputs
tag (#98).New function
show_network
for visualizing the connections between pipelines that are connected in a DAG.MaestroSchedule
gains new methodsget_network()
(returns a data.frame) andshow_network()
(returns a visualization using {DiagrammeR}).Added catch-all
maestro
tag to identify a function as a pipeline without specifying other configurations.
maestro 0.3.0
CRAN release: 2024-09-23
This version refactors much of the code base to rely on R6 classes for pipelines and schedules. Pay careful attention to the breaking changes to see how existing code may be impacted.
Breaking changes
Schedules are now represented as an R6 object of class
<MaestroSchedule>
.build_schedule()
returns a MaestroSchedule object that can be passed torun_schedule()
as normal. To access the schedule table runget_schedule()
.run_schedule()
no longer returns a list of$status
and$artifacts
but now returns/modifies the MaestroSchedule object. Status can be accessed usingget_status(schedule)
and artifacts viaget_artifacts(schedule)
suggest_orch_frequency()
now takes a<MaestroSchedule>
object.Data
example_schedule
removed from the package.Skipped pipelines are no longer shown in the CLI output of
run_schedule()
.It is now required that all pipeline names are unique. The names of each maestro pipeline function must be unique across the project to support the implementation of DAGs.
build_schedule()
will abort if any non-unique names are detected.
New features
Added functions
get_schedule()
,get_status()
, andget_artifacts()
for interacting with<MaestroSchedule>
objects.Added function
invoke()
to instantly run a pipeline in a schedule.
Bug Fixes
- Error messaging is clearer when running functions that wrap around purrr iterators (#115).
maestro 0.2.0
CRAN release: 2024-08-27
New features
New tags
maestroHours
,maestroDays
, andmaestroMonths
allows running of pipelines on specific hours of day, days of week, days of month, or months of year (#100).maestroFrequency
tag now accepts the values hourly, daily, weekly, biweekly, monthly, quarterly, and yearly. Argumentorch_frequency
torun_schedule()
also accepts these values.
Minor changes
Changed from
example_schedule
data the pipeline with a schedule of 1 minute to 30 minutes in keeping with best practices for minimum pipeline frequency.suggest_orch_frequency
now uses the smallest interval between any two pipelines (#99).
Bug Fixes
Error messages on unintentional overwrites from
create_*()
functions correctly reference name of path or directory that was to be overwritten.Fixed cli output of
run_schedule()
to not show skipped pipelines in the next run portion.
maestro 0.1.2
CRAN release: 2024-08-01
Bug Fixes
Fixed cli output to correctly handle counting of successful runs when pipelines are skipped.
Performance improvements to
build_schedule()
(#101).
maestro 0.1.1
Breaking changes
Creater functions
create_pipeline()
andcreate_maestro
no longer have default arguments for the path to where the scripts are created. Users must explicitly define these paths.Argument
log_file
inrun_schedule()
no longer defaults to./maestro.log
but instead defaults toNULL
.
maestro 0.0.4
Bug fixes
- Fixed the output of the next run for pipelines (#90)
maestro 0.0.3
Breaking changes
-
run_schedule()
now returns a list with status and artifacts instead of just a data.frame of the status. Artifacts are any values returned from pipelines. Pipelines that return nothing will have no artifacts.
Major changes
- New helper function
suggest_orch_frequency()
to provide a suggestion of what frequency to use for the orchestrator.
Minor changes
- Start and end times are now reported from functions that result in an error in single core only (#82).
Bug fixes
- CLI output from
run_schedule()
now correctly outputs the total number of pipelines (#81) and correctly outputs number of errors.
maestro 0.0.2
Breaking changes
maestroFrequency tag now adheres to a more human-readable format like “1 day”, “2 hours”, “4 weeks”, etc.
orch_frequency
argument inrun_schedule()
also takes more human-readable format identical to maestroFrequency tag.maestroInterval tag removed
orch_interval
argument torun_schedule()
removed.create_maestro()
andcreate_orchestrator()
now use the argumenttype
instead ofextension
for defining what script type to use for the orchestrator.Changed
last_parsing_errors()
tolast_build_errors()
; changed functions of the formlast_runtime_*()
tolast_run_*()
.
Major changes
Additional columns added to the output of
run_schedule()
:pipeline_started
andpipeline_ended
to indicate the start and end times of a pipeline execution;next_run
to indicate when the next run should be based on the frequency of the pipeline and orchestrator.Pipelines now show as skipped if they are not scheduled.
Added hex logo
Minor changes
Backend improvements to schedule checking
Timestamps are formatted to specified time zone.
run_schedule()
cli output suggests to uselast_run_errors()
orlast_run_warnings()
if any errors or warnings were found.