tar_test("tar_poll() with default columns", {
tar_script({
list(
tar_target(x, seq_len(100)),
tar_target(y, Sys.sleep(0.1), pattern = map(x))
)
})
tar_poll()
# Open a separate R session and run the pipeline there.
# Watch the output of tar_poll().
# Then stop and destroy the pipeline and watch tar_poll() respond.
# Then resume the pipeline and watch tar_poll() resume.
})
tar_test("tar_poll() with non-default columns", {
tar_script({
list(
tar_target(x, seq_len(100)),
tar_target(y, Sys.sleep(0.1), pattern = map(x))
)
})
px <- tar_make(callr_function = callr::r_bg, reporter = "silent")
tar_poll(interval = 0.001, fields = any_of(c("completed", "time")))
})
tar_test("tar_poll() timeout", {
tar_script({
list(
tar_target(x, seq_len(100)),
tar_target(y, Sys.sleep(0.1), pattern = map(x))
)
})
px <- tar_make(callr_function = callr::r_bg, reporter = "silent")
tar_poll(interval = 0.001, timeout = 5)
})
tar_test("tar_poll() with non-default store and script", {
tar_script({
list(
tar_target(x, seq_len(100)),
tar_target(y, Sys.sleep(0.1), pattern = map(x))
)
}, script = "example/script.R")
px <- tar_make(
callr_function = callr::r_bg,
reporter = "silent",
script = "example/script.R",
store = "example/store"
)
# Stop after you see it is working:
tar_poll(interval = 0.001, store = "example/store")
px$kill()
expect_true(file.exists("example/store"))
expect_false(file.exists("_targets.yaml"))
expect_equal(tar_config_get("script"), path_script_default())
expect_equal(tar_config_get("store"), path_store_default())
expect_false(file.exists(path_script_default()))
expect_false(file.exists(path_store_default()))
expect_true(file.exists("example/script.R"))
tar_config_set(script = "x")
expect_equal(tar_config_get("script"), "x")
expect_true(file.exists("_targets.yaml"))
unlink("example", recursive = TRUE)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.