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中的哈希保持顺序。 –