1

15 分ごとに「sync」メソッドを実行するように BackgrounDRb ワーカーをセットアップしました。次に、たとえば、メソッドを今一度実行したいとします。私は次のようにレーキタスクでそれをラップしようとしていました:

namespace :mytasks do
  task :sync do |t|
    worker = MiddleMan.worker(:my_worker)
    worker.async_sync
  end
end

しかし、これはうまくいきません。あらゆる種類の未定義の定数などで救済されます。私の試みはどれもその他を要求しません。gems は、実行可能な rake タスクを生成しました。:(

では、問題は、rake タスク内から BackgrounDRb タスクをどのようにトリガーするかということです。

4

1 に答える 1

1

BackroundDRb タスクの実行の詳細についてはわかりませんが、rake タスクに Rails 環境を組み込みたい場合は、それについて明示する必要があります。これがないと、rake タスクが失敗する原因になると確信しています。

namespace :foo do
  task :bar => :environment do |t|
    # ..
  end
end
于 2009-04-20T11:19:30.130 に答える