0
我有一個處理某些'產品'thar通過JSON發送的隊列。我按照{1,2,3,4}的順序收到它們,但在{1,3,2,4}中進行了resque處理。由於舊版本的Product
可以覆蓋已經處理過的新版本
有沒有辦法讓resque像process {job} orderede by {job.field_I_want}
一樣?如何使訂購再處理作業
編輯:那排隊工作
def produto
if params[:json]
# upload = params[:json]
# content = upload.read
# parsed_json = JSON(content)
parsed_json = JSON(params[:json])
parsed_json['idFila'] = params[:idFila]
logger.info parsed_json
Resque.enqueue(ProdutoWorker, parsed_json)
render json: ActiveSupport::JSON.encode(Retorno.new(:status => "OK", :mensagem => "Produto recebido")), :status => :ok
else
render json: ActiveSupport::JSON.encode(Retorno.new(:status => "Erro", :mensagem => "Sem JSON")), :status => :not_found
end
rescue => exception
render json: ActiveSupport::JSON.encode(Retorno.new(:status => "Erro", :mensagem => "#{exception}")), :status => :error
end #Produto
編輯我的問題。謝謝 –
我不能說那麼多的代碼,我想問題是哈希沒有命令,請嘗試在你的worker的執行方法上做這樣的事情: parsed_json.keys.sort.each do | key | process(parsed_json [key]) end resque worker的執行方法的相關代碼是什麼? – arieljuod
Ruby 1.9中的哈希保持順序。 –