tar_newer: List new targets

View source: R/tar_newer.R

tar_newerR Documentation

List new targets

Description

List all the targets whose last successful run occurred after a certain point in time.

Usage

tar_newer(
  time,
  names = NULL,
  inclusive = FALSE,
  store = targets::tar_config_get("store")
)

Arguments

time

A POSIXct object of length 1, time threshold. Targets newer than this time stamp are returned. For example, if time = Sys.time - as.difftime(1, units = "weeks") then tar_newer() returns targets newer than one week ago.

names

Names of eligible targets. Targets excluded from names will not be returned even if they are newer than the given time. You can supply symbols or tidyselect helpers like any_of() and starts_with(). If NULL, all names are eligible.

inclusive

Logical of length 1, whether to include targets built at exactly the time given.

store

Character of length 1, path to the targets data store. Defaults to tar_config_get("store"), which in turn defaults to ⁠_targets/⁠. When you set this argument, the value of tar_config_get("store") is temporarily changed for the current function call. See tar_config_get() and tar_config_set() for details about how to set the data store path persistently for a project.

Details

Only applies to targets with recorded time stamps: just non-branching targets and individual dynamic branches. As of targets version 0.6.0, these time stamps are available for these targets regardless of storage format. Earlier versions of targets do not record time stamps for remote storage such as format = "url" or repository = "aws" in tar_target().

Value

A character vector of names of old targets with recorded timestamp metadata.

See Also

Other time: tar_older(), tar_timestamp_raw(), tar_timestamp()

Examples

if (identical(Sys.getenv("TAR_EXAMPLES"), "true")) { # for CRAN
tar_dir({ # tar_dir() runs code from a temp dir for CRAN.
tar_script({
  list(tar_target(x, seq_len(2)))
}, ask = FALSE)
tar_make()
# targets newer than 1 week ago
tar_newer(Sys.time() - as.difftime(1, units = "weeks"))
# targets newer than 1 week from now
tar_newer(Sys.time() + as.difftime(1, units = "weeks"))
# Everything is still up to date.
tar_make()
# Invalidate all targets targets newer than 1 week ago
# so they run on the next tar_make().
invalidate_these <- tar_newer(Sys.time() - as.difftime(1, units = "weeks"))
tar_invalidate(any_of(invalidate_these))
tar_make()
})
}

targets documentation built on Oct. 12, 2023, 5:07 p.m.