Skip to content
IronMQ backend for delayed_job http://iron.io/
Ruby
Find file
Latest commit 00c577b @thousandsofthem and line break
Failed to load latest commit information.
lib initializes with defaults.
spec Work on
.gitignore correct gemfile
Gemfile Uses new iron standard config.
LICENSE Format license
README.md
Rakefile Uses new iron standard config.
VERSION Version bump to 0.1.4
delayed_job_ironmq.gemspec Regenerate gemspec for version 0.1.4

README.md

This is IronMQ backend for delayed_job

DEPRECATED

New home: https://github.com/iron-io/delayed_job_ironmq

Please use new location for all purposes

Getting Started

Get credentials

Heroku users: Simply add the IronMQ add-on and you can skip the rest of this section. It will be setup automatically when you add the IronMQ add-on.

To start using delayed_job_ironmq, you need to sign up for Iron.io and setup your credentials.

  1. Go to http://iron.io/ and sign up.
  2. Get an Oauth Token at http://hud.iron.io/tokens
  3. Add an iron.json file or setup environment variables for authentication. See http://dev.iron.io/articles/configuration/ for details.

Installation

Add the gems to your Gemfile:

gem 'delayed_job'
gem 'delayed_job_ironmq'

Optionally: Add an initializer (config/initializers/delayed_job.rb):

Delayed::Worker.configure do |config|
  # optional params:
  config.available_priorities = [-1,0,1,2] # Default is [0]. Please note, each new priority will speed down a bit picking job from queue
  config.queue_name = 'default' # Specify an alternative queue name
  config.delay = 0  # Time to wait before message will be available on the queue
  config.timeout = 5.minutes # The time in seconds to wait after message is taken off the queue, before it is put back on. Delete before :timeout to ensure it does not go back on the queue.
  config.expires_in = 7.days # After this time, message will be automatically removed from the queue.
end

Usage

That's it. Use delayed_job as normal.

Example:

class User
  def background_stuff
    puts "I run in the background"
  end
end

Then in one of your controllers:

user = User.new
user.delay.background_stuff

Start worker process

rake jobs:work

That will start pulling jobs off the queue and processing them.

Demo Rails Application

Here's a demo rails app you can clone and try it out: https://github.com/treeder/delayed_job_with_iron_mq

Using with Heroku

To use with Heroku, just add the IronMQ Add-on and you're good to go.

Documentation

You can find more documentation here:

Something went wrong with that request. Please try again.