【发布时间】:2016-12-13 02:53:23
【问题描述】:
我正在使用 Resque 处理我的后台作业。 我的模型是这样的
class SomeClass
...
repo = Repo.find(params[:repo_id])
Resque.enqueue(ReopCleaner, repo.id)
...
end
class RepoCleaner
@queue = :repo_cleaner
def self.perform(repo_id)
puts "this must get printed in console"
repo = Repo.find(repo_id)
# some more action here
end
end
现在我已经添加了同步测试
Resque.inline = Rails.env.test?
在我的 config/initializers/resque.rb 文件中
这应该是调用 #perform 方法内联而不将其排队到 Redis 并且没有任何 Resque 回调作为 Rails.env.test?在测试环境中返回 true。
但是
"this must get printed in console"
在测试时从不打印。我的测试也失败了。
有没有我错过的配置。 目前我正在使用
resque (1.17.1)
resque_spec (0.7.0)
resque_unit (0.4.0)
【问题讨论】:
-
你试过在没有 resque_spec 和 resque_unit 的情况下运行它吗?
标签: ruby-on-rails background jobs resque