In my current application I need to have one job not beeing invoked more than once and another job having at least a minimum of 5 retries before it stops.

There’s not much in the documentation about this, but there was a patch that made this possible. Simply add a method max_attempts into your job.

class MyJob < Struct.new(:id)

  def max_attempts
    5
  end

  def perform
  end
end