我是Ruby和Sinatra的初级用户,但是设法在Heroku上运行的Web服务运行良好。我从Salesforce.com访问此Web服务。使用Sinatra网络服务处理客户端超时
我在Salesforce/Apex中使用的HTTPRequest类的最大超时时间为60秒。如果我遇到了这个超时(或者当我用于测试目的的1秒超时),我会在Salesforce端获得一个例外情况,我可以轻松应对。我感兴趣的是如何在Sinatra方面处理这个问题。
如果我的客户端得到超时,并以某种方式关闭连接,是否有办法在我的Sintra应用程序中“感知”这种方式?我想要注意客户端超时,继续执行应用程序启动的工作,然后发送电子邮件让用户知道超时后完成作业。
我应该注意到,当我现在得到超时时,Sinatra应用程序快乐地完成了它正在做的事情,并且,我猜测,返回它应该的JSON数据。只有客户端没有任何东西可以获取这些数据。
有什么想法?
很好的反馈。谢谢。事实证明,Salesforce的60年代超时并不相关,因为Heroku强加了30秒的超时时间(除非你在Cedar堆栈上并且觉得发送保持活跃的ping,我不知道)。鉴于30秒超时,以及我们大多数用户将以需要大量时间的方式参与此项服务这一事实,我们只需每次都马上发送一封电子邮件,让Heroku完成重大提升延期工作。 –