INNER CODE UNIT · Ruby
self
reidmorrison/rocketjob · lib/rocket_job/active_worker.rb:17
def self.all(server_name = nil)
servers = []
# Need paused, failed or aborted since servers may still be working on active slices
query = RocketJob::Job.where(:state.in => %i[running paused failed aborted])
query = query.where(worker_name: /\A#{server_name}/) if server_name
query.each do |job|
servers += job.rocket_job_active_workers
end
servers
end
# Requeues all jobs for which the workers have disappeared
def self.requeue_zombies
all.each do |active_worker|
next if !active_worker.zombie? || !active_worker.job.may_requeue?(active_worker.server_name)
active_worker.job.requeue!(active_worker.server_name)
end