Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Backburner作业结果_Ruby_Beanstalkd - Fatal编程技术网

Ruby Backburner作业结果

Ruby Backburner作业结果,ruby,beanstalkd,Ruby,Beanstalkd,我将设置为一个工作队列,我的作业项需要为它们创建的结果数据返回JSON。我不知道该如何组织这个。作为一项测试,我尝试过: class PrintJob include Backburner::Performable def self.print(text) puts text return "results" end end Backburner.configure do |config| config.beanstalk_url = ["beansta

我将设置为一个工作队列,我的作业项需要为它们创建的结果数据返回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,而不是结果

有没有办法从异步方法中获取返回值?或者我应该尝试另一种方法,例如一个队列用于作业,另一个队列用于结果?如果是,我如何将结果“作业”与其所属的原始工作关联

注意:我最终使用的是Sinatra,而不是Rails