Class: Meilisearch::Models::Task
- Inherits:
-
Object
- Object
- Meilisearch::Models::Task
- Extended by:
- Forwardable
- Defined in:
- lib/meilisearch/models/task.rb
Constant Summary collapse
- DEFAULT_TIMEOUT_MS =
5000
- DEFAULT_INTERVAL_MS =
50
Class Attribute Summary collapse
Instance Attribute Summary collapse
-
#metadata ⇒ Object
readonly
Returns the value of attribute metadata.
Instance Method Summary collapse
- #await(timeout_in_ms = self.class.default_timeout_ms, interval_in_ms = self.class.default_interval_ms) ⇒ Object
- #cancel ⇒ Object
- #cancelled? ⇒ Boolean
- #delete ⇒ Object
- #deleted? ⇒ Boolean
- #enqueued? ⇒ Boolean
- #error ⇒ Object
- #failed? ⇒ Boolean (also: #has_failed?)
- #finished? ⇒ Boolean
-
#initialize(metadata_hash, task_endpoint) ⇒ Task
constructor
A new instance of Task.
- #processing? ⇒ Boolean
- #refresh(with: nil) ⇒ Object
- #status ⇒ Object
- #succeeded? ⇒ Boolean (also: #has_succeeded?)
- #to_h ⇒ Object (also: #to_hash)
- #type ⇒ Object
- #uid ⇒ Object
- #unfinished? ⇒ Boolean (also: #waiting?)
Constructor Details
#initialize(metadata_hash, task_endpoint) ⇒ Task
Returns a new instance of Task.
30 31 32 33 34 35 |
# File 'lib/meilisearch/models/task.rb', line 30 def initialize(, task_endpoint) self. = validate_required_fields! @task_endpoint = task_endpoint end |
Class Attribute Details
.default_interval_ms ⇒ Object
18 19 20 |
# File 'lib/meilisearch/models/task.rb', line 18 def default_interval_ms @default_interval_ms || DEFAULT_INTERVAL_MS end |
.default_timeout_ms ⇒ Object
14 15 16 |
# File 'lib/meilisearch/models/task.rb', line 14 def default_timeout_ms @default_timeout_ms || DEFAULT_TIMEOUT_MS end |
Instance Attribute Details
#metadata ⇒ Object
Returns the value of attribute metadata.
28 29 30 |
# File 'lib/meilisearch/models/task.rb', line 28 def @metadata end |
Instance Method Details
#await(timeout_in_ms = self.class.default_timeout_ms, interval_in_ms = self.class.default_interval_ms) ⇒ Object
114 115 116 117 118 119 120 121 |
# File 'lib/meilisearch/models/task.rb', line 114 def await( timeout_in_ms = self.class.default_timeout_ms, interval_in_ms = self.class.default_interval_ms ) refresh with: @task_endpoint.wait_for_task(uid, timeout_in_ms, interval_in_ms) unless finished? self end |
#cancel ⇒ Object
123 124 125 126 127 128 129 130 |
# File 'lib/meilisearch/models/task.rb', line 123 def cancel return true if status_cancelled? return false if status_finished? @task_endpoint.cancel_tasks(uids: [uid]).await cancelled? end |
#cancelled? ⇒ Boolean
86 87 88 89 90 |
# File 'lib/meilisearch/models/task.rb', line 86 def cancelled? Utils.warn_on_unfinished_task(self) if unfinished? status_cancelled? end |
#delete ⇒ Object
132 133 134 135 136 137 138 |
# File 'lib/meilisearch/models/task.rb', line 132 def delete return false unless status_finished? @task_endpoint.delete_tasks(uids: [uid]).await deleted? end |
#deleted? ⇒ Boolean
92 93 94 95 96 |
# File 'lib/meilisearch/models/task.rb', line 92 def deleted? refresh unless @deleted !!@deleted end |
#enqueued? ⇒ Boolean
49 50 51 52 53 |
# File 'lib/meilisearch/models/task.rb', line 49 def enqueued? refresh if status_enqueued? status_enqueued? end |
#error ⇒ Object
98 99 100 |
# File 'lib/meilisearch/models/task.rb', line 98 def error @metadata['error'] end |
#failed? ⇒ Boolean Also known as: has_failed?
79 80 81 82 83 |
# File 'lib/meilisearch/models/task.rb', line 79 def failed? Utils.warn_on_unfinished_task(self) if unfinished? status == 'failed' end |
#finished? ⇒ Boolean
68 69 70 |
# File 'lib/meilisearch/models/task.rb', line 68 def finished? !unfinished? end |
#processing? ⇒ Boolean
55 56 57 58 59 |
# File 'lib/meilisearch/models/task.rb', line 55 def processing? refresh if status_processing? || status_enqueued? status_processing? end |
#refresh(with: nil) ⇒ Object
102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/meilisearch/models/task.rb', line 102 def refresh(with: nil) self. = with || @task_endpoint.task(uid) self rescue Meilisearch::ApiError => e raise e unless e.http_code == 404 @deleted = true self end |
#status ⇒ Object
45 46 47 |
# File 'lib/meilisearch/models/task.rb', line 45 def status @metadata['status'] end |
#succeeded? ⇒ Boolean Also known as: has_succeeded?
72 73 74 75 76 |
# File 'lib/meilisearch/models/task.rb', line 72 def succeeded? Utils.warn_on_unfinished_task(self) if unfinished? status == 'succeeded' end |
#to_h ⇒ Object Also known as: to_hash
140 141 142 |
# File 'lib/meilisearch/models/task.rb', line 140 def to_h @metadata end |
#type ⇒ Object
41 42 43 |
# File 'lib/meilisearch/models/task.rb', line 41 def type @metadata['type'] end |
#uid ⇒ Object
37 38 39 |
# File 'lib/meilisearch/models/task.rb', line 37 def uid @metadata['taskUid'] end |
#unfinished? ⇒ Boolean Also known as: waiting?
61 62 63 64 65 |
# File 'lib/meilisearch/models/task.rb', line 61 def unfinished? refresh if status_processing? || status_enqueued? status_processing? || status_enqueued? end |