2012-10-28 65 views
1

在Rails中首次設置Resque時,出現錯誤。我使用Foreman和Procfile在本地啓動我的應用程序,然後最終部署到Heroku。當我嘗試啓動我的應用時,Redis和我的PostgreSQL數據庫已經在運行。錯誤是:在Rails中設置Resque

$ 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,但我沒有明確要求它在任何類使用救援。我的Rake文件和Procfile是:

Procfile

web: bundle exec rails server -p $PORT 
resque: env TERM_CHILD=1 RESQUE_TERM_TIMEOUT=10 bundle exec rake resque:work 

Rake文件

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 

回答

2

我不完全理解這一點,但要記錄它的情況下,它可以幫助別人。我需要該行:

task "resque:preload" => :environment 

在我的Rakefile緊跟在require語句之後。如果有人知道這是如何工作的,請澄清!

+0

我收到錯誤'沒有要加載的文件 - actions_controller'。這固定在Rails 4 – airlok

3

只需使用

bundle exec rake environment resque:work

這樣做同樣的事情task "resque:preload" => :environment

運行任務時需要當前環境:p

+0

非常棒。謝謝。 – Dogweather