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

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…