Task

Struct Task 

Source
pub struct Task {
Show 22 fields pub artifacts: Vec<Artifact>, pub config: Option<HashMap<String, DriverConfig>>, pub constraints: Vec<Constraint>, pub affinities: Vec<Affinity>, pub spreads: Vec<Spread>, pub dispatch_payload: Option<DispatchPayload>, pub driver: String, pub env: Option<HashMap<String, String>>, pub kill_signal: String, pub kill_timeout: Duration, pub leader: bool, pub log_config: LogConfig, pub meta: Option<HashMap<String, String>>, pub name: String, pub resources: Resources, pub restart_policy: RestartPolicy, pub services: Vec<Service>, pub shutdown_delay: Duration, pub templates: Vec<Template>, pub user: Option<String>, pub vault: Option<Vault>, pub lifecycle: Option<Lifecycle>,
}
Expand description

Represents a task within a task group.

Fields§

§artifacts: Vec<Artifact>

Represents the artifacts to download for this task.

§config: Option<HashMap<String, DriverConfig>>

A map of key-value configuration passed into the driver to start the task. The details of configurations are specific to each driver.

§constraints: Vec<Constraint>

The placement constraints for this job. See also Constraint

§affinities: Vec<Affinity>

A list to define placement preferences on nodes where a job can be run. See also Affinity

§spreads: Vec<Spread>

A list to define allocation spread across attributes. See also Spread

§dispatch_payload: Option<DispatchPayload>

Configures the task to have access to dispatch payloads. See also DispatchPayload

§driver: String

Specifies the task driver that should be used to run the task. See the driver documentation for what is available. Examples include docker, qemu, java, and exec.

§env: Option<HashMap<String, String>>

A map of key-value representing environment variables that will be passed along to the running process. Nomad variables are interpreted when set in the environment variable values.

§kill_signal: String

Specifies a configurable kill signal for a task, where the default is SIGINT. Note that this is only supported for drivers which accept sending signals

§kill_timeout: Duration

KillTimeout is a time duration in nanoseconds. It can be used to configure the time between signaling a task it will be killed and actually killing it. Drivers first sends a task the SIGINT signal and then sends SIGTERM if the task doesn’t die after the KillTimeout duration has elapsed. The default KillTimeout is 5 seconds.

§leader: bool

Specifies whether the task is the leader task of the task group. If set to true, when the leader task completes, all other tasks within the task group will be gracefully shutdown.

§log_config: LogConfig

This allows configuring log rotation for the stdout and stderr buffers of a Task.

§meta: Option<HashMap<String, String>>

A key-value map that annotates the Consul service with user-defined metadata. String interpolation is supported in meta.

§name: String

The name of the task.

§resources: Resources

Provides the resource requirements of the task. See also Resources

§restart_policy: RestartPolicy

Specifies the restart policy to be applied to tasks in this group. If omitted, a default policy for batch and non-batch jobs is used based on the job type. See also RestartPolicy

§services: Vec<Service>

A Service object represents a routable and discoverable service on the network. Nomad integrates with Consul for service discovery and it automatically registers when a task is started and de-registers it when the task transitions to the dead state. See also Service Note that this is deprecated and replaced by the services stanza at the task group level.

§shutdown_delay: Duration

Specifies the duration to wait when killing a task between removing it from Consul and sending it a shutdown signal. Ideally services would fail healthchecks once they receive a shutdown signal. Alternatively ShutdownDelay may be set to give in flight requests time to complete before shutting down.

§templates: Vec<Template>

Specifies the set of Template objects to render for the task. Templates can be used to inject both static and dynamic configuration with data populated from environment variables, Consul and Vault. See also Template

§user: Option<String>

Set the user that will run the task. It defaults to the same user the Nomad client is being run as. This can only be set on Linux platforms.

§vault: Option<Vault>

The vault configuration, if any.

§lifecycle: Option<Lifecycle>

The lifecycle configuration for the task, if any. See also Template

Trait Implementations§

Source§

impl Clone for Task

Source§

fn clone(&self) -> Task

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Task

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Task

Source§

fn default() -> Self

Return Task { artifacts: Default::default(), config: Default::default(), constraints: Default::default(), affinities: Default::default(), spreads: Default::default(), dispatch_payload: Default::default(), driver: Default::default(), env: Default::default(), kill_signal: ("SIGINT").into(), kill_timeout: Duration :: from_secs(5), leader: Default::default(), log_config: Default::default(), meta: Default::default(), name: Default::default(), resources: Default::default(), restart_policy: Default::default(), services: Default::default(), shutdown_delay: Default::default(), templates: Default::default(), user: Default::default(), vault: Default::default(), lifecycle: Default::default() }

Source§

impl<'de> Deserialize<'de> for Task

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for Task

Source§

fn eq(&self, other: &Task) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Task

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Task

Auto Trait Implementations§

§

impl Freeze for Task

§

impl RefUnwindSafe for Task

§

impl Send for Task

§

impl Sync for Task

§

impl Unpin for Task

§

impl UnwindSafe for Task

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,