0
バックグラウンドプロセスにResqueを使用するアプリケーションがあります。だから私はRails - 別のプロセスからバックグラウンドプロセスを開始する(Resque)
-/app/workers/dataCollector.rb
とコントローラにあります:
def new
@my_model = MyModel.new(params[:])
Resque.enqueue(DataCollector, @my_model.id)
end
私はいくつかの点でデータ・コレクターからいくつかの情報を取得し、それを処理することを別のワーカーを追加します。
ので、私が試した:
-app/workers/dataCollector.rb
/dataProcessor.rb
を、私に、mymodelクラスに持っていた:
def my_function
...
data.each do |d|
Resque.enqueue(DataProcessor, data)
end
end
私の新しい労働者は、ように見えた:結果のエラーがあまりにも「スタックレベルだった
class DataProcessor
@queue = :processing_queue
def self.perform(data)
new_var = processingFunction(data)
newModel.column = new_var
end
end
深い "
私はresque Webインターフェイスでprocessing_queueを見ることが
bundle exec env rake resque:work QUEUE='*'
redis-server /usr/local/etc/redis.conf
、決してで...ローカルに一度プログラムを実行しました。
エンキューが間違っています。 –
ありがとう、これは元のコードでは当てはまりませんでした。 – Stpn