Skip to content

Extension to resque, using resque-meta, which provides status tracking.

License

Notifications You must be signed in to change notification settings

idris/resque-progress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

resque-progress

Depends on Resque 1.8 and resque-meta 1.0.0

About

Inspired by resque-status. Unfortunately, resque-status seems incompatible with resque-meta, so this plugin uses resque-meta to provide a similar functionality. This plugin differs a bit because it's mainly focused on progress. The resque-meta plugin already includes methods for finished?, working?, succeeded?, etc.

Examples

class MyJob
  extend Resque::Plugins::Progress

  def self.perform(meta_id, *args)
    (0..9).each do |i|
      at(i, 10, "Lifted \#{num} heavy things. \#{10-num} more to go!")
      heavy_lifting(i)
    end
	at(10, 10, "Finished lifting everything. Kthxbai!")
  end
end

meta0 = MyJob.enqueue('stuff')
meta0.progress.num_complete # => 0
meta0.progress.total # => 10
meta0.progress.percent # => 100
meta0.progress.message # => nil

# later
meta1 = MyJob.get_meta('03c9e1a045ad012dd20500264a19273c')
meta1.finished? # => false
meta1.progress.num_complete # => 4
meta1.progress.total # => 10
meta1.progress.percent # => 40
meta1.progress.message # => 'Lifted 4 heavy things. 6 more to go!'

Requirements

About

Extension to resque, using resque-meta, which provides status tracking.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages