0

rufus-scheduler を使用して、1 分ごとにチェックして、delayed_job キューに配置する準備ができているジョブがあるかどうかを確認しようとしています。

#{RAILS_ROOT}/config/initializers に、スケジューラを開始する初期化スクリプトを用意します。残念ながら、rake の jobs:work は Rails の初期化プロセスも実行するため、jobs:work started ごとに別のプロセスが開始されます。

どうすればこれを防ぐことができますか?

XP pro sp3でruby 1.8.6.26、rails 2.3.5、dj 1.8.5、rufus-scheduler 2.0.6を実行しています

4

1 に答える 1

4

Rails の初期化プロセスが Rake 経由で呼び出された場合に、イニシャライザでスケジュールを実行しない方法を見つけます。

確かにもっとレールのような方法がありますが、あなたはそれを行うことができます

  unless defined?(Rake)
    # do the scheduling...
  end

定数 Rake が定義されている場合 (定義されている Rake タスクの場合)、ブロック「スケジューリングを行う」は呼び出されません。

于 2011-01-12T02:29:49.667 に答える