Sha256: 5606ae5d837e1599cfacf97ac414bc71f7fb04b3020eccd46783d5a82d371bbe
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
require 'resque' require 'resque/plugins/result/version' require 'resque/plugins/meta' module Resque module Plugins # If you want to be able fetch the result from a Resque # job's perform method. Results will be encoded using JSON. # # For example: # # require 'resque-result' # # class MyJob # extend Resque::Plugins::Result # # def self.perform(meta_id, big_num) # factor(big_num) # end # end # # meta0 = MyJob.enqueue(3574406403731) # meta0.enqueued_at # => 'Wed May 19 13:42:41 -0600 2010' # meta0.meta_id # => '03c9e1a045ad012dd20500264a19273c' # # # later # meta1 = MyJob.get_meta('03c9e1a045ad012dd20500264a19273c') # meta1.succeeded? # => true # meta1.result # => [ 1299709, 2750159 ] module Result def self.extended(mod) mod.extend(Resque::Plugins::Meta) Resque::Plugins::Meta::Metadata.send(:include, Resque::Plugins::Result::Metadata) end def around_perform_meta_result(meta_id, *args) if meta = get_meta(meta_id) meta.result = yield meta.save else yield end end module Metadata def result self['result'] end def result=(val) self['result'] = val end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
resque-result-1.0.1 | lib/resque/plugins/result.rb |