第一次在 Rails 中设置 Resque 时,我遇到了一个错误。在最终部署到 Heroku 之前,我正在使用 Foreman 和 Procfile 在本地启动我的应用程序。当我尝试启动我的应用程序时,Redis 和我的 PostgreSQL 数据库已经在运行。错误是:
$ foreman start
...
23:24:32 resque.1 | rake aborted!
23:24:32 resque.1 | No such file to load -- bootstrap_flash_helper
23:24:32 resque.1 | Tasks: TOP => resque:work => resque:preload
23:24:32 resque.1 | (See full trace by running task with --trace)
23:24:32 resque.1 | exited with code 1
...
我的应用确实使用了 Bootstrap,但我没有在任何使用 Rescue 的类中明确要求它。我的 Rakefile 和 Procfile 是:
档案
web: bundle exec rails server -p $PORT
resque: env TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 bundle exec rake resque:work
耙文件
require File.expand_path('../config/application', __FILE__)
require 'resque/tasks'
task "resque:setup" do
ENV['QUEUE'] = '*'
end
task "jobs:work" => "resque:work"
MyCoolApp::Application.load_tasks