我是一个对Resque不太熟悉的新手,但是它看起来非常适合我的需求。
实际上,我正在尝试设置一个简单的测试应用程序,例如:
require 'resque'
require 'resque/job_with_status'
class WordAnalyzer < Resque::JobWithStatus
@queue = "word_analysis"
def self.perform(word)
puts "About to do heavy duty analysis on #{word}"
sleep 3 # fake analysis here
# this would be something impressive
puts "Finished with analysis on #{word}"
end
end
通过创建后台工作程序
WordAnalyzer.create(word)
没有使用resque-status时,它可以完美运行(使用enqueue而不是创建worker)。但是使用resque-status时,会出现以下错误:
“参数错误(2个参数而不是1个) /.../resque_test/lib/word_analyzer.rb:6:in `perform' /.../.rvm/gems/ruby-1.9.2-p136/gems/resque-1.16.1/lib/resque/job.rb:127:in `perform'”
我已经搜索了文档和代码,但没有找到正确处理resque-status作业参数的方法。这是否可能?
提前感谢您的帮助。
WordAnalyzer.create(:word => word)
然后在实例方法(而不是类方法)perform中访问options['word'] 。
- udo