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

Instance Method Details

#expire_queued(age: 1, limit: 10) ⇒ Object

rubocop:disable Lint/UnusedMethodArgument



16
17
18
19
20
# File 'lib/legion/extensions/tasker/runners/task_manager.rb', line 16

def expire_queued(age: 1, limit: 10, **) # rubocop:disable Lint/UnusedMethodArgument
  dataset = Legion::Data::Model::Task # rubocop:disable Lint/UselessAssignment
            .where(status: ['conditioner.queued', 'transformer.queued', 'task.queued'])
            .limit(limit)
end

#purge_old(age: 31, limit: 100, status: 'task.completed', **_opts) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/legion/extensions/tasker/runners/task_manager.rb', line 6

def purge_old(age: 31, limit: 100, status: 'task.completed', **_opts)
  log.debug("purging old completed tasks with an age > #{age} days, limit: #{limit}")
  dataset = Legion::Data::Model::Task
            .where(Sequel.lit("created <= DATE_SUB(SYSDATE(), INTERVAL #{age} DAY)"))
            .limit(limit)
  dataset.where(status: status) unless ['*', nil, ''].include? status
  log.debug "Deleting #{dataset.count} records" if dataset.count.positive?
  dataset&.delete
end