0
我有一個使用Resque進行後臺進程的應用程序。所以,我有Rails - 從另一個進程啓動後臺進程(Resque)
-/app/workers/dataCollector.rb
和控制器:
def new
@my_model = MyModel.new(params[:])
Resque.enqueue(DataCollector, @my_model.id)
end
我想補充另一名工人在某個時候會得到dataCollector並處理一些信息。
所以我嘗試:
-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
產生的錯誤是「堆棧的水平太深「
我跑一次程序在本地...與
bundle exec env rake resque:work QUEUE='*'
redis-server /usr/local/etc/redis.conf
,並從來沒有看到processing_queue在resque Web界面。
您拼寫錯誤。 –
謝謝,修正,原來的代碼並非如此。 – Stpn