1

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
4

2 に答える 2

3

使うだけ

bundle exec rake environment resque:work

これは と同じことを行いtask "resque:preload" => :environmentます。

タスクを実行するときに現在の環境が必要です:p

于 2013-04-10T03:23:08.583 に答える
2

私はこれを完全には理解していませんが、誰かに役立つ場合に備えて文書化したい. 次の行が必要でした:

task "resque:preload" => :environment

私のRakefileのrequireステートメントの直後に。誰かがこれがどのように機能するかを知っている場合は、明確にしてください!

于 2012-10-28T05:32:13.997 に答える