を使用している。ハマりまくっているので、メモである。
ワーカーのエラー内容がわからない!!
VVERBOSE=1 bundle exec rake environment resque:work
のようにVVERBOSE
を指定するとエラーが表示される。
オブジェクトの様子とか見たい!!
RubyMineのブレイクポイントが効かないので、オブジェクトの様子が見れない!! こまった。 pメソッド
ではコンソールに表示してくれない!!!
# config/initializers/resque.rb
Resque.logger = Logger.new(Rails.root.join('log', "#{Rails.env}_resque.log"))
を設定して、
Resque.logger.info('hoge')
のようにロガーでファイルに出すしかない。
ワーカークラスへの変更が適応されてない!!!
クラスを書き換えたら都度、Ctr + C
で一回止めて、
VVERBOSE=1 bundle exec rake environment resque:work
を入力!! してもっかい起動(´・ω・`)
効率的な方法が知りたい
引数にHashを渡すとキーがSymbol
ではなくてString
になっている
通常のRubyの例
def bar(param_hash)
puts param_hash.keys.first.class #=> Symbol
puts param_hash[:hoge] #=> 1
puts param_hash['hoge'] #=> なにも表示されない
end
bar(hoge: 1)
resqueの場合
class BarWorker
@queue = :bar
def self.perform(param_hash)
Resque.logger.info('start')
Resque.logger.info(param_hash.keys.first.class) #=> String
Resque.logger.info(param_hash[:hoge]) #=> なにも表示されない
Resque.logger.info(param_hash['hoge']) #=> 1
Resque.logger.info('end')
end
end
Resque.enqueue(BarWorker, hoge: 1)