我将Backburner设置为工作队列,我的作业项需要为他们创建的结果数据返回JSON。我不知道如何构建这个。作为我尝试过的测试:
class PrintJob
include Backburner::Performable
def self.print(text)
puts text
return "results"
end
end
Backburner.configure do |config|
config.beanstalk_url = ["beanstalk://127.0.0.1"]
# etc
end
val = PrintJob.async.print('some cool text')
puts val
并在IRB中运行Backburner.work
。 puts
有效,但返回值返回true
而不是"results"
。
有没有办法从async
方法中获取返回值?或者我应该尝试不同的方法,例如有一个工作队列和另一个结果队列?如果是这样,我如何将结果“作业”与其所属的原始作品相关联?
注意:我最终使用的是Sinatra,而不是Rails。