Wait for a task, or set of tasks, to complete. If you have used
rrq
prior to version 0.8.0, you might expect this function to
return the result, but we now return a logical value which
indicates success or not. You can fetch the task result with
rrq_task_result.
rrq_task_wait(
task_id,
timeout = NULL,
time_poll = 1,
progress = NULL,
follow = NULL,
controller = NULL
)
A vector of task ids to poll for (can be one task or many)
Optional timeout, in seconds, after which an error
will be thrown if the task has not completed. If not given,
falls back on the controller's timeout_task_wait
(see
rrq_controller)
Optional time with which to "poll" for completion. By default this will be 1 second; this is the time that each request for a completed task may block for (however, if the task is finished before this, the actual time waited for will be less). Increasing this will reduce the responsiveness of your R session to interrupting, but will cause slightly less network load. Values less than 1s are only suppored with Redis server version 6.0.0 or greater (released September 2020).
Optional logical indicating if a progress bar
should be displayed. If NULL
we fall back on the value of the
global option rrq.progress
, and if that is unset display a
progress bar if in an interactive session.
Optional logical, indicating if we should follow any
redirects set up by doing rrq_task_retry. If not given, falls
back on the value passed into the controller, the global option
rrq.follow
, and finally TRUE
. Set to FALSE
if you want to
return information about the original task, even if it has been
subsequently retried.
The controller to use. If not given (or NULL
)
we'll use the controller registered with
rrq_default_controller_set()
.
A scalar logical value; TRUE
if all tasks complete
successfully and FALSE
otherwise