1

私は最初のRuby(v1.9.3p194)プロジェクトに取り掛かろうとしています。私はHerokuでホスティングしており、ActiveRecordと一緒にSinatraを使用しています。プロジェクトにdelayed_jobを統合しようとしていますが、レーキがjobs:workを認識できないようになっています。(はい、delayed_jobは通常、レールで機能することは知っていますが、私が理解しているように、それがなくても機能します。)

これまで、gemfile / bundlerを使用してdelayed_job(3.0.3)およびdelayed_job_active_record(0.3.2)gemをインストールしました。Railsがないため、delayed_job readmeから独自の移行ファイルを作成し、移行しました。これが私の問題の原因になるとは思わない。

私が見たすべてのドキュメントから、gemをインストールすることでうまくいくはずです。私はそれらをアンインストールして再インストールしようとしましたが、役に立ちませんでした。他に何を試すべきかわかりません-おそらく、rakefileに明示的に含める必要があるものがありますが、それを示すドキュメントは見たことがありません。

どんな助けでも大歓迎です。

4

1 に答える 1

3

多分私はあなたのために実際の答えを持っています。

私は簡単なプロジェクトを作成して、次のようjobs:workに表示しましたrake -T

Gemfile

source :rubygems

gem 'delayed_job'

Rakefile

require 'rake'
require 'bundler'
require Bundler.load.gems.find{|i| i.name == 'delayed_job'}.gem_dir + "/lib/delayed/tasks"

走る: $ bundle install

結果:

$ rake -T
rake jobs:clear  # Clear the delayed_job queue.
rake jobs:work   # Start a delayed_job worker.
于 2012-07-20T23:58:42.967 に答える