Class: Marathon::Task
Overview
This class represents a Marathon Task. See mesosphere.github.io/marathon/docs/rest-api.html#get-/v2/tasks for full list of API’s methods.
Constant Summary collapse
- ACCESSORS =
%w[ id appId host ports servicePorts version stagedAt startedAt ]
Instance Attribute Summary
Attributes inherited from Base
Class Method Summary collapse
-
.delete(ids, scale = false) ⇒ Object
(also: remove, kill)
Kill the given list of tasks and scale apps if requested.
-
.delete_all(appId, host = nil, scale = false) ⇒ Object
(also: remove_all, kill_all)
Kill tasks that belong to the application appId.
-
.get(appId) ⇒ Object
List all running tasks for application appId.
-
.list(status = nil) ⇒ Object
List tasks of all applications.
Instance Method Summary collapse
-
#delete!(scale = false) ⇒ Object
(also: #kill!)
Kill the task that belongs to an application.
-
#initialize(hash, marathon_instance = Marathon.singleton) ⇒ Task
constructor
Create a new task object.
-
#to_pretty_s ⇒ Object
Returns a string for listing the task.
- #to_s ⇒ Object
Methods inherited from Base
Methods included from Error
error_class, error_message, from_response
Constructor Details
#initialize(hash, marathon_instance = Marathon.singleton) ⇒ Task
Create a new task object. hash
: Hash including all attributes marathon_instance
: MarathonInstance holding a connection to marathon
10 11 12 13 |
# File 'lib/marathon/task.rb', line 10 def initialize(hash, marathon_instance = Marathon.singleton) super(hash, ACCESSORS) @marathon_instance = marathon_instance end |
Class Method Details
.delete(ids, scale = false) ⇒ Object Also known as: remove, kill
Kill the given list of tasks and scale apps if requested. ids
: Id or list of ids with target tasks. scale
: Scale the app down (i.e. decrement its instances setting by the number of tasks killed)
after killing the specified tasks.
60 61 62 |
# File 'lib/marathon/task.rb', line 60 def delete(ids, scale = false) Marathon.singleton.tasks.delete(ids, scale) end |
.delete_all(appId, host = nil, scale = false) ⇒ Object Also known as: remove_all, kill_all
Kill tasks that belong to the application appId. appId
: Application’s id host
: Kill only those tasks running on host host. scale
: Scale the app down (i.e. decrement its instances setting by the number of tasks killed)
after killing the specified tasks.
72 73 74 |
# File 'lib/marathon/task.rb', line 72 def delete_all(appId, host = nil, scale = false) Marathon.singleton.tasks.delete_all(appId, host, scale) end |
.get(appId) ⇒ Object
List all running tasks for application appId. appId
: Application’s id
52 53 54 |
# File 'lib/marathon/task.rb', line 52 def get(appId) Marathon.singleton.tasks.get(appId) end |
.list(status = nil) ⇒ Object
List tasks of all applications. status
: Return only those tasks whose status matches this parameter.
If not specified, all tasks are returned. Possible values: running, staging.
46 47 48 |
# File 'lib/marathon/task.rb', line 46 def list(status = nil) Marathon.singleton.tasks.list(status) end |
Instance Method Details
#delete!(scale = false) ⇒ Object Also known as: kill!
Kill the task that belongs to an application. scale
: Scale the app down (i.e. decrement its instances setting by the number of tasks killed)
after killing the specified tasks.
18 19 20 |
# File 'lib/marathon/task.rb', line 18 def delete!(scale = false) new_task = self.class.delete(id, scale) end |
#to_pretty_s ⇒ Object
Returns a string for listing the task.
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/marathon/task.rb', line 29 def to_pretty_s %Q[ Task ID: #{id} App ID: #{appId} Host: #{host} Ports: #{(ports || []).join(',')} Staged at: #{stagedAt} Started at: #{startedAt} Version: #{version} ].strip end |
#to_s ⇒ Object
24 25 26 |
# File 'lib/marathon/task.rb', line 24 def to_s "Marathon::Task { :id => #{self.id} :appId => #{appId} :host => #{host} }" end |