You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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!'