我正在尝试学习如何在 Rails 中使用delayed_jobs,卸载一个长时间运行的Web 请求进程,并将结果存储为我以后可以在我的代码中访问的变量。做这个的最好方式是什么?
在我的控制器代码中的一个方法中,我正在使用:
Delayed::Job.enqueue(BuildDetail.new)
然后我在 lib/build_detail.rb 中定义了一个类(并且需要控制器中的文件):
class BuildDetail
def perform
...
# some web request processing is here
...
# the code returns the results of the web request processing as a variable:
@newvar = ...
end
end
所以这是我的挑战,我需要能够访问 @newvar 值以在另一个控制器方法中使用。我完全不明白如何引用 @newvar 值。由于delayed_jobs 处理是在后台处理的,我是否需要通过某种缓存过程来处理这个问题,或者是否可以直接访问变量?