我有一个Sinatra应用程序,看起来像这样:
get '/generate'
generate_result(params) # method that takes several minutes to complete
end不幸的是,'generate_result‘方法需要几分钟才能运行。但是Heroku的限制是每个请求30秒。我使用的是一个免费的Heroku帐户,所以我正在寻找一种不需要购买工人dyno的解决方案。
我尝试了‘机架超时’gem,但问题仍然出现在Heroku上。
发布于 2015-05-26 22:02:09
为了支持web套接字和长轮询,Heroku提供了一种绕过超时的方法。在初始请求时,您有30秒的时间以至少一个字节响应客户端,之后每个后续字节将使连接保持打开状态至少55秒。
https://devcenter.heroku.com/articles/request-timeout#long-polling-and-streaming-responses
因此,您可以通过连接重复发送“心跳”消息,以使其保持活动状态。剩下的问题是这样做是否值得--通常情况下,做后台处理会更好。
https://stackoverflow.com/questions/30442533
复制相似问题