開発環境で DelayedJob プロセスを実行rake jobs:work
またはコンソールから開始しようとすると、次の奇妙なエラーが発生します。Delayed::Worker.new.start
Loading development environment (Rails 3.2.8)
1.9.3-head :001 > Delayed::Worker.new.start
Moped::Errors::OperationFailure: The operation: #<Moped::Protocol::Command
@length=410
@request_id=2
@response_to=0
@op_code=2004
@flags=[]
@full_collection_name="hapievents.$cmd"
@skip=0
@limit=-1
@selector={:findAndModify=>"delayed_backend_mongoid_jobs", :query=>{"run_at"=>{"$lte"=>2012-11-19 23:52:23 UTC}, "failed_at"=>nil, "$or"=>[{"locked_by"=>"host:Nunix-Netbook pid:11867"}, {"locked_at"=>nil}, {"locked_at"=>{"$lt"=>2012-11-19 19:52:23 UTC}}]}, :new=>true, :sort=>{"locked_by"=>-1, "priority"=>1, "run_at"=>1}, :update=>{"$set"=>{:locked_at=>2012-11-19 23:52:23 UTC, :locked_by=>"host:Nunix-Netbook pid:11867"}}}
@fields=nil>
failed with error "no such cmd"
問題はMongoにあると思います。私は宝石を使用していdelayed_job_mongoid
ます。最初は特定のジョブの問題かと思ったのですが、今はジョブリストが空で、DelayedJobサーバーを起動できません。