Http 带有EventMachine服务的任务
我需要解决这个任务 我需要开发一个服务,它使用EventMachine提供有保证的httpget请求Http 带有EventMachine服务的任务,http,get,eventmachine,Http,Get,Eventmachine,我需要解决这个任务 我需要开发一个服务,它使用EventMachine提供有保证的httpget请求 服务是否有API/发送?url=http%3A%2F%2Fya.ru,其中url是需要传递的http请求/ 在每个请求中,API都会立即响应200,body OK。在此之后,服务将尝试传递所有请求。如果收到答案200,则该请求被视为已送达。如果请求失败,请稍后重试 服务有function/stats,它显示了一个带有“highcharts”的图表,其中我们看到了三行-接收的请求、成功的请求
- 服务是否有API/发送?url=http%3A%2F%2Fya.ru,其中url是需要传递的http请求/
- 服务有function/stats,它显示了一个带有“highcharts”的图表,其中我们看到了三行-接收的请求、成功的请求和失败的请求
任何帮助都将不胜感激。我不知道从哪里开始。但我有一些使用RoR构建应用程序的经验。如果有人能给我一个已经解决的类似任务,我会很高兴的。这里有一个小片段让你开始。它使用
emhttprequest
gem执行GET请求,并在一个小延迟后返回404状态码时重试。您应该能够使用此代码作为基础来构建所请求的内容
require "eventmachine"
require "em-http"
def do_get_request(url)
request = EM::HttpRequest.new(url).get
request.callback do
status = request.response_header.status
if status == 404
puts "Request #{url} failed with status #{status}, retrying"
EM.add_timer(1) do
do_get_request(url)
end
else
# Process request.response
end
end
end
EM.run do
do_get_request(ARGV[0])
end
您将需要持久队列,并且需要一种管理和监视异常的方法,这可能意味着EventMachine不是适合此作业的工具。尝试一些后台工作服务,请参阅 如果你要进行大量的简单任务和类似反应器的模式,那么Bealnstadd可能是一种方式,请参见: