我是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完成重大提升延期工作。 –