module Legion::Extensions::Tasker::Runners::TaskManager
Public Instance Methods
expire_queued(age: 1, limit: 10, **)
click to toggle source
# 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)
click to toggle source
# 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