Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A Resque plugin to add functionality to pause resque jobs through the web interface.
Ruby JavaScript
branch: master
Failed to load latest commit information.
lib
spec
.gitignore
.travis.yml
Changelog.md
Gemfile
Gemfile.lock
LICENSE
README.md
Rakefile
resque-pause.gemspec

README.md

Resque Pause alt build status

A Resque plugin. Requires Resque 1.9.10.

resque-pause adds functionality to pause resque jobs through the web interface.

Using a pause allows you to stop the job for a slice of time. The job finish the process it are doing and don't get a new task to do, until the queue is released. You can use this functionality to do some maintenance whithout kill workers, for example.

Usage / Examples

Single Job Instance

require 'resque-pause'

class UpdateNetworkGraph
  extend Resque::Plugins::Pause
  @queue = :network_graph

  def self.perform(repo_id)
    heavy_lifting
  end
end

Pause is achieved by storing a pause/queue key in Redis.

Default behaviour...

  • When the job instance try to execute and the queue is paused, the job is paused for a slice of time.
  • If the queue still paused after this time the job will abort and will be enqueued again with the same arguments.

Resque-Web integration

You have to load ResquePause to enable the Pause tab.

    require 'resque-pause/server'

Customise & Extend

Job pause check interval

The slice of time the job will wait for queue be unpaused before abort the job could be changed with attribute @pause_check_interval.

By default the time is 10 seconds.

You can define the attribute in your job class in seconds.

class UpdateNetworkGraph
  extend Resque::Plugins::Pause
  @queue = :network_graph
  @pause_check_interval = 30

  def self.perform(repo_id)
    heavy_lifting
  end
end

The above modification will ensure the job will wait for 30 seconds before abort.

Install

$ gem install resque-pause
Something went wrong with that request. Please try again.