Rails 2.3.5 アプリを Rails 3.0.6 にアップグレードしました。その過程で、resque を 1.9.1 から 1.15.0 に、resque_scheduler を 1.9.1 から 1.9.9 にアップグレードしました。次のコマンドは、Rails 2.3.5 で正常に動作していました。
COUNT=1 QUEUE=scheduled_1_queue,another_queue,yet_another_queue,slow_queue,redis_cleanup_queue,immediate_queue RAILS_ENV=development JOBS_PER_FORK=500 rake resque:workers
rake resque:scheduler
しかし、アップグレード後に上記のコマンドを実行すると、次のエラーが発生します。
rake aborted!
wrong number of arguments (0 for 1)
Tasks: TOP => resque:work => resque:setup => environment
RakeFile は次のとおりです。
require File.expand_path('../config/application', __FILE__)
require 'rake'
require 'resque/tasks'
require 'resque_scheduler/tasks'
MyApp::Application.load_tasks
task "resque:setup" => :environment
RakeFile の最後の行 'task "resque:setup" => :environment' にコメントすると、resque スケジューラとワーカー コマンドはエラーなしで実行されますが、スケジューラはタスクをまったくスケジュールせず、これにとどまります。
2011-06-16 09:33:45 Schedule empty! Set Resque.schedule
Rails 3 で古いバージョンの resque(1.9.1) と resque_scheduler(1.9.1) も試しましたが、役に立ちませんでした。--trace を使用して上記のコマンドを実行しようとしましたが、「引数の数が間違っています (1 に対して 0)」エラーに関するトレース情報は提供されません。もっと情報を提供する必要があるのではないかと思いますが、正確には何なのかわかりません。この質問に答えるために他に何が必要か教えてください。どうもありがとう。