Terminate mirai
dispatchers and/or crew
workers
which may be lingering from previous workloads.
Usage
crew_clean(
dispatchers = TRUE,
workers = TRUE,
user = ps::ps_username(),
seconds_interval = 0.5,
seconds_timeout = 60,
verbose = TRUE
)
Arguments
- dispatchers
Logical of length 1, whether to terminate dispatchers.
- workers
Logical of length 1, whether to terminate workers.
- user
Character of length 1. Terminate dispatchers and/or workers associated with this user name.
- seconds_interval
Seconds to between polling intervals waiting for a process to exit.
- seconds_timeout
Seconds to wait for a process to exit.
- verbose
Logical of length 1, whether to print an informative message every time a process is terminated.
Value
NULL
(invisibly). If verbose
is TRUE
, it does
print out a message for every terminated process.
Details
Behind the scenes, mirai
uses an external R process
called a "dispatcher" to send tasks to crew
workers.
This dispatcher usually shuts down when you terminate the controller
or quit your R session, but sometimes it lingers. Likewise,
sometimes crew
workers do not shut down on their own.
The crew_clean()
function searches the process table on your
local machine and manually terminates any mirai
dispatchers
and crew
workers associated with your user name (or the
user name you select in the user
argument.
Unfortunately, it cannot reach remote workers such as those
launched by a crew.cluster
controller.
See also
Other utility:
crew_assert()
,
crew_deprecate()
,
crew_eval()
,
crew_random_name()
,
crew_retry()
,
crew_terminate_process()
,
crew_terminate_signal()
,
crew_worker()
Examples
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) {
crew_clean()
}