ruby-on-rails – 瘦服务器中的em.synchrony在需要使用后返回结果

ruby-on-rails – 瘦服务器中的em.synchrony在需要使用后返回结果,第1张

概述瘦服务器基于EventMachine,因此我无法从EM.synchrony块中阻止它. 但在这种情况下,输出为:2,1,但不是1,2.我该如何解决? EM.synchrony do update_ads ads_hash, invalid_ads, ip, params, user_agent, request EM::Synchrony::FiberIterator.new([1 瘦服务器基于EventMachine,因此我无法从EM.synchrony块中阻止它.
但在这种情况下,输出为:2,1,但不是1,2.我该如何解决?

EM.synchrony do    update_ads ads_hash,invalID_ads,ip,params,user_agent,request    EM::Synchrony::FiberIterator.new([1,2,3]).each do |i|      # some http requests     end    puts "1"      # EventMachine.stop end puts "2"

谢谢你提前!

解决方法 EM由于其异步性质而无法保证执行顺序. 1仅在FiberIterator完成其工作后执行,而2则先执行.如果您需要在1之后执行2,请将其放在EM.synchrony块中.

UPD:

x = EM.synchrony do  # update_ads ads_hash,request  EM::Synchrony::FiberIterator.new([1,3]).each do |i|    # some http requests   end   "1"endputs xputs "2"
总结

以上是内存溢出为你收集整理的ruby-on-rails – 瘦服务器中的em.synchrony在需要使用后返回结果全部内容,希望文章能够帮你解决ruby-on-rails – 瘦服务器中的em.synchrony在需要使用后返回结果所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1273255.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存