Module: Legion::Extensions::Tasker::Runners::TaskManager
- Includes:
- Helpers::Lex, Helpers::Task
- Defined in:
- lib/legion/extensions/tasker/runners/task_manager.rb
Instance Method Summary collapse
- #expire_queued(age: 1, limit: 10) ⇒ Object
- #purge_old(age: 31, limit: 100, status: 'task.completed', **_opts) ⇒ Object
Instance Method Details
#expire_queued(age: 1, limit: 10) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/legion/extensions/tasker/runners/task_manager.rb', line 19 def expire_queued(age: 1, limit: 10, **) cutoff = Time.now - (age * 3600) dataset = Legion::Data::Model::Task .where(status: ['conditioner.queued', 'transformer.queued', 'task.queued']) .where(Sequel.lit('created <= ?', cutoff)) .limit(limit) count = dataset.update(status: 'task.expired') { success: true, expired: count } end |
#purge_old(age: 31, limit: 100, status: 'task.completed', **_opts) ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/legion/extensions/tasker/runners/task_manager.rb', line 8 def purge_old(age: 31, limit: 100, status: 'task.completed', **_opts) log.debug("purging old completed tasks with an age > #{age} days, limit: #{limit}") cutoff = Time.now - (age * 86_400) dataset = Legion::Data::Model::Task .where(Sequel.lit('created <= ?', cutoff)) .limit(limit) dataset = dataset.where(status: status) unless ['*', nil, ''].include?(status) log.debug "Deleting #{dataset.count} records" if dataset.any? dataset&.delete end |