diff --git a/R/Rush.R b/R/Rush.R index 0cdf7ee..81e39d0 100644 --- a/R/Rush.R +++ b/R/Rush.R @@ -397,6 +397,7 @@ Rush = R6::R6Class("Rush", if (length(lost_workers)) { running_tasks = self$fetch_running_tasks(fields = "worker_extra") + if (!nrow(running_tasks)) return(invisible(self)) bin_state = redux::object_to_bin(list(state = "lost")) keys = running_tasks[lost_workers, keys, on = "worker_id"] diff --git a/tests/testthat/test-Rush.R b/tests/testthat/test-Rush.R index 44f2975..46121c7 100644 --- a/tests/testthat/test-Rush.R +++ b/tests/testthat/test-Rush.R @@ -539,6 +539,8 @@ test_that("a lost task is detected", { expect_data_table(data, nrows = 1) expect_set_equal(data$state, "lost") + expect_class(rush$detect_lost_tasks(), "Rush") + pids = rush$worker_info$pid expect_rush_reset(rush) clean_test_env(pids)