pub struct ControllerCommand {Show 15 fields
pub worker_world: String,
pub system_addr: String,
pub controller_actor_id: String,
pub world_size: usize,
pub num_procs_per_host: usize,
pub worker_name: String,
pub program: Option<String>,
pub supervision_query_interval_in_sec: u64,
pub supervision_update_interval_in_sec: u64,
pub worker_progress_check_interval_in_sec: u64,
pub operation_timeout_in_sec: u64,
pub operations_per_worker_progress_request: u64,
pub fail_on_worker_timeout: bool,
pub is_cpu_worker: bool,
pub extra_proc_labels: Option<Vec<(String, String)>>,
}
Fields§
§worker_world: String
The worker world to create
system_addr: String
The system address to bootstrap with.
controller_actor_id: String
The controller actor id to give to.
world_size: usize
§num_procs_per_host: usize
The number of processes per host.
worker_name: String
The worker name.
program: Option<String>
The worker program to execute for each process. It is not needed if worker procs are directly launched without management from host actors.
supervision_query_interval_in_sec: u64
The supervision check interval in seconds. It indicates how often the controller will poll system actor to check the status of all procs/actors in a world. This decides how fast the client could observe a failure in the system.
supervision_update_interval_in_sec: u64
The supervision update interval in seconds, it indiciates how often the controller proc should report its supervision status to the system.
worker_progress_check_interval_in_sec: u64
The worker progress check interval in seconds, it indicates how often the controller will check that progress is being made.
operation_timeout_in_sec: u64
The operation timeout duration interval in seconds, it indicates how long we will allow progress to stall for before letting the client know that worker(s) may be stuck.
operations_per_worker_progress_request: u64
The number of operations invoked before we proactively check worker progress. If a large number of operations are invoked all at once, it is expected that it will take a while for all operations to complete so we want to inject progress requests at a higher frequency to check if we are making progress
fail_on_worker_timeout: bool
If the controller should propagate a failure to the client if the workers become stuck.
is_cpu_worker: bool
If to launch the workers for CPU-only devices.
extra_proc_labels: Option<Vec<(String, String)>>
Proc metadata which will be available through system.
Trait Implementations§
Source§impl Args for ControllerCommand
impl Args for ControllerCommand
Source§fn group_id() -> Option<Id>
fn group_id() -> Option<Id>
ArgGroup::id
][crate::ArgGroup::id] for this set of argumentsSource§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command
] so it can instantiate self
via
[FromArgMatches::update_from_arg_matches_mut
] Read moreSource§impl Clone for ControllerCommand
impl Clone for ControllerCommand
Source§fn clone(&self) -> ControllerCommand
fn clone(&self) -> ControllerCommand
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ControllerCommand
impl Debug for ControllerCommand
Source§impl<'de> Deserialize<'de> for ControllerCommand
impl<'de> Deserialize<'de> for ControllerCommand
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl FromArgMatches for ControllerCommand
impl FromArgMatches for ControllerCommand
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches
to self
.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches
to self
.Source§impl IntoPy<Py<PyAny>> for ControllerCommand
impl IntoPy<Py<PyAny>> for ControllerCommand
Source§impl<'py> IntoPyObject<'py> for ControllerCommand
impl<'py> IntoPyObject<'py> for ControllerCommand
Source§type Target = ControllerCommand
type Target = ControllerCommand
Source§type Output = Bound<'py, <ControllerCommand as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <ControllerCommand as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PyClass for ControllerCommand
impl PyClass for ControllerCommand
Source§impl PyClassImpl for ControllerCommand
impl PyClassImpl for ControllerCommand
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§type ThreadChecker = SendablePyClass<ControllerCommand>
type ThreadChecker = SendablePyClass<ControllerCommand>
type Inventory = Pyo3MethodsInventoryForControllerCommand
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny
by default, and when you declare
#[pyclass(extends=PyDict)]
, it’s PyDict
.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl PyClassNewTextSignature<ControllerCommand> for PyClassImplCollector<ControllerCommand>
impl PyClassNewTextSignature<ControllerCommand> for PyClassImplCollector<ControllerCommand>
fn new_text_signature(self) -> Option<&'static str>
Source§impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a ControllerCommand
impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a ControllerCommand
Source§impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a mut ControllerCommand
impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a mut ControllerCommand
Source§impl PyTypeInfo for ControllerCommand
impl PyTypeInfo for ControllerCommand
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
PyTypeInfo::type_object
PyTypeInfo::type_object
].§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object
is an instance of this type or a subclass of this type.§fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
PyTypeInfo::is_type_of
PyTypeInfo::is_type_of
].§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object
is an instance of this type.§fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
PyTypeInfo::is_exact_type_of
PyTypeInfo::is_exact_type_of
].Source§impl Serialize for ControllerCommand
impl Serialize for ControllerCommand
impl DerefToPyAny for ControllerCommand
Auto Trait Implementations§
impl Freeze for ControllerCommand
impl RefUnwindSafe for ControllerCommand
impl Send for ControllerCommand
impl Sync for ControllerCommand
impl Unpin for ControllerCommand
impl UnwindSafe for ControllerCommand
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FromPyObject<'_> for Twhere
T: PyClass + Clone,
impl<T> FromPyObject<'_> for Twhere
T: PyClass + Clone,
§fn extract_bound(obj: &Bound<'_, PyAny>) -> Result<T, PyErr>
fn extract_bound(obj: &Bound<'_, PyAny>) -> Result<T, PyErr>
§impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
§fn from_py_object_bound(ob: Borrowed<'_, 'py, PyAny>) -> Result<T, PyErr>
fn from_py_object_bound(ob: Borrowed<'_, 'py, PyAny>) -> Result<T, PyErr>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<A, M> Handler<IndexedErasedUnbound<M>> for A
impl<A, M> Handler<IndexedErasedUnbound<M>> for A
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self
into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self
into an owned Python object, dropping type information and unbinding it
from the 'py
lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self
into a Python object. Read more