launch
launch(manager::FooManager, params::Dict, launched::Vector{WorkerConfig}, launch_ntfy::Condition)
Implemented by cluster managers. For every Julia worker launched by this function, it should append a WorkerConfig
entry to launched
and notify launch_ntfy
. The function MUST exit once all workers, requested by manager
have been launched. params
is a dictionary of all keyword arguments addprocs
was called with.
Examples
"""
launch(manager::FooManager, params::Dict, launched::Vector{WorkerConfig}, launch_ntfy::Condition)
Implemented by cluster managers. For every Julia worker launched by this function,
it appends a `WorkerConfig` entry to `launched` and notifies `launch_ntfy`.
The function MUST exit once all workers requested by `manager` have been launched.
`params` is a dictionary of all keyword arguments `addprocs` was called with.
"""
# Example Usage:
# Suppose we have a FooManager and a dictionary of parameters.
# We initialize an empty vector to store the launched WorkerConfigs.
# We also create a condition to notify when all workers have been launched.
# We then call the `launch` function with the provided arguments.
# Define FooManager and params
struct FooManager end
params = Dict("mode" => "production", "workers" => 4)
# Initialize empty launched vector and launch notification condition
launched = Vector{WorkerConfig}()
launch_ntfy = Condition()
# Call the launch function
launch(FooManager(), params, launched, launch_ntfy)
The launch
function is implemented by cluster managers. It takes in a manager
of type FooManager
, a dictionary of parameters params
, a vector launched
to store the WorkerConfig
entries, and a condition launch_ntfy
for notification.
The function is responsible for launching Julia workers and appending their corresponding WorkerConfig
entries to the launched
vector. It also notifies the launch_ntfy
condition when all requested workers have been launched. Once all workers have been launched, the function must exit.
Note: The provided code example is a skeleton to demonstrate the usage of the launch
function. The actual implementation of the launch
function may vary depending on the specific cluster manager being used.
See Also
User Contributed Notes
Add a Note
The format of note supported is markdown, use triple backtick to start and end a code block.