Class: BatchKit::Database::Task
- Inherits:
-
Object
- Object
- BatchKit::Database::Task
- Defined in:
- lib/batch-kit/database/models.rb
Overview
Records details of Task definitions
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(task_def) ⇒ Task
constructor
A new instance of Task.
- #task_abort(task_run) ⇒ Object
- #task_failure(task_run) ⇒ Object
- #task_start(task_run) ⇒ Object
- #task_success(task_run) ⇒ Object
- #task_timeout(task_run) ⇒ Object
Constructor Details
#initialize(task_def) ⇒ Task
Returns a new instance of Task.
228 229 230 231 232 233 234 235 236 |
# File 'lib/batch-kit/database/models.rb', line 228 def initialize(task_def) super(job_id: task_def.job.job_id, job_version: task_def.job.job_version, task_name: task_def.name, task_class: task_def.task_class.name, task_method: task_def.method_name.to_s, task_desc: task_def.description, task_run_count: 0, task_success_count: 0, task_fail_count: 0, task_abort_count: 0, task_min_success_duration_ms: 0, task_max_success_duration_ms: 0, task_mean_success_duration_ms: 0, task_m2_success_duration_ms: 0) end |
Class Method Details
.register(job_def) ⇒ Object
212 213 214 215 216 217 218 219 220 221 222 223 224 225 |
# File 'lib/batch-kit/database/models.rb', line 212 def self.register(job_def) Task.where(job_id: job_def.job_id).update(task_current_flag: false) job_def.tasks.each do |task_key, task_def| task = self.where(job_id: job_def.job_id, task_method: task_def.method_name.to_s).first if task task.update(task_name: task_def.name, task_class: task_def.task_class.name, task_desc: task_def.description, task_current_flag: 'Y') else task = Task.new(task_def).save end task_def.task_id = task.task_id end end |
Instance Method Details
#task_abort(task_run) ⇒ Object
267 268 269 270 |
# File 'lib/batch-kit/database/models.rb', line 267 def task_abort(task_run) self.task_abort_count += 1 self.save end |
#task_failure(task_run) ⇒ Object
261 262 263 264 |
# File 'lib/batch-kit/database/models.rb', line 261 def task_failure(task_run) self.task_fail_count += 1 self.save end |
#task_start(task_run) ⇒ Object
239 240 241 242 243 |
# File 'lib/batch-kit/database/models.rb', line 239 def task_start(task_run) self.task_last_run_at = task_run.start_time self.task_run_count += 1 self.save end |
#task_success(task_run) ⇒ Object
246 247 248 249 250 251 252 253 254 255 256 257 258 |
# File 'lib/batch-kit/database/models.rb', line 246 def task_success(task_run) self.task_success_count += 1 n = self.task_success_count ms = task_run.elapsed * 1000 delta = ms - self.task_mean_success_duration_ms self.task_min_success_duration_ms = self.task_min_success_duration_ms == 0 ? ms : [self.task_min_success_duration_ms, ms].min self.task_max_success_duration_ms = self.task_max_success_duration_ms == 0 ? ms : [self.task_max_success_duration_ms, ms].max mean = self.task_mean_success_duration_ms += delta / n self.task_m2_success_duration_ms += delta * (ms - mean) self.save end |
#task_timeout(task_run) ⇒ Object
273 274 275 276 |
# File 'lib/batch-kit/database/models.rb', line 273 def task_timeout(task_run) self.task_abort_count += 1 self.save end |