2010-09-14 103 views
0

我希望能夠在grails中設置一個可配置的(通過控制器/操作)請求超時。其目標是以確定性的方式處理罕見的高負載故障模式。例如,我知道如果一個給定的控制器/動作在30秒內沒有返回,那麼有些事情是可怕的錯誤,我不想讓用戶掛起。如何在grails中實現請求超時?

如果可能的話,我想在應用程序邏輯中處理這個問題,因爲根據事件的情況可能會有合理的恢復或消息。

過濾器不起作用,因爲時間可能在請求處理生命週期的任何地方達到。

+0

看到http://stackoverflow.com/questions/2907516/how-to-configure-a-session-timeout-for-grails-application – Tom 2010-09-14 01:57:27

+1

@湯姆 - 這不是我不認爲這是一個重複的。引用的問題是關於會話超時;這是每個請求。 – 2010-09-14 14:17:29

+0

@Rob。是的,我的不好。對@Chris Alef道歉。 – Tom 2010-09-14 14:35:44

回答

1

我不認爲這很容易實現。您可能僅限於您正在使用的Servlet容器的功能。例如,使用tomcat,你可以設置一個connectionTimeout。不幸的是,這可能不會給你你所要求的控制,因爲超時和響應更多的是容器的擺佈。

你可能會用後臺線程,定時器,中斷和一些黑魔法來做到這一點,但這可能是一個不明智的做法。

一對夫婦的郵件列表討論我的話題發現: