大量メール送信のようなバックグラウンドタスクを処理するためにresqueワーカーを作成しようとしています。私が好きな何Ruby on Rails Resqueは、パラメータをハッシュとして実行します。
は、引数のハッシュを受け入れるように、私の労働者のためにある:私はself.perform(arg1, arg2, arg3, arg4, arg5)
上好む
class Worker
@queue = :worker_queue
def self.perform(options={})
user_id = options[:user_id]
end
end
。
すべてはコンソール(つまりWorker.perform(args)
)で動作します。しかし、これをresqueにキューイングするときはいつでも、引数は未定義です。
ActiveRecord::RecordNotFound: Couldn't find User with 'id'=
誰でも正しい方向に向けることができますか?エンキューされたパラメータがJSONにシリアル化されていることはわかっています。
私はちょうどそれについて考えました。'user_id'
の代わりに、:user_id
のシンボルがシリアル化されているので、私の問題はそのようなものでしたか?