所以假设我有一个sidekiq进程发送一个我不想等待的http post请求。我不希望这成为工人速度的阻碍。
我的一个想法是将这个简单的示例代码用于EventMachine Http Request
EventMachine.run do
http = EventMachine::HttpRequest.new("http://www.example.com").post :options => {...}
http.callback do
puts "got a response"
puts http.response
EventMachine.stop
end
puts "worker finished"
end
所以我们假设我的工作进程在调用回调之前完成。这会发生什么?这是否意味着回调的指针会失败?我想了解这里的控制流程。
答案 0 :(得分:2)
在致电EventMachine.run
之前,EventMachine.stop
区块不会返回。因此,在您的情况下,如果没有运行回调,工作人员将无法完成。
答案 1 :(得分:2)
根据您的需要: