2

ピーク時に119秒より長く実行されるジョブがいくつかありますが、実行されると、以下のストーカーエラーが発生し続けます。を使用してstalkerおりbeanstalkdclockworkバックグラウンド処理に使用しています。タイムアウト設定はどこで/どのように変更できますか?

Exception Stalker::JobTimeout -> find.products hit 119s timeout
   /home/blake/.rvm/gems/ruby-1.9.2-p180/gems/stalker-0.9.0/lib/stalker.rb:86:in
4

1 に答える 1

3

Stalker.enqueueは、ジョブ名文字列、引数ハッシュ、オプションハッシュの3つのオプションを取ります。

オプションハッシュは、キーと値のペア:ttr => timeout_in_secondsを取ることができます。これは、おそらく推測できるように、StalkerがJobTimeout例外を発生させるまでに許可する秒数を設定します。

たとえば、クレイジーな計算がある場合は、1時間かかると予想されます。

#job code
job 'crazy.calculation' do |args|
  args['x'].to_i + args['y'].to_i + args['z'].to_i
end

#queuing code
Stalker.enqueue 'crazy.calculation', {:x => 1, :y => 2, :z => 3}, {:ttr => 3600}

計算に引数がない場合は同じコード

#job code
job 'crazy.calculation' do |args|
  1 + 2 + 3
end

#queuing code
Stalker.enqueue 'crazy.calculation', {}, {:ttr => 3600}

オプションhash:ttrはシンボルである必要があります。エンキュー引数ハッシュとジョブ引数ハッシュのシンボルと文字列の互換性と混同しないでください。

于 2011-07-08T00:33:22.490 に答える