【问题标题】:does the controller action stop immediately when page timeout occurs?当页面超时发生时,控制器动作是否立即停止?
【发布时间】:2019-12-06 09:27:04
【问题描述】:

我有一个控制器动作,它执行大量计算并且需要 10 分钟或更长时间才能完成。

def timeConsumingOperation(){


}

当我在等待一段时间后请求 url /application/timeConsumingOperation 时,浏览器显示超时或服务不可用。

我的问题是这个超时是否也会阻止后端方法运行,或者即使与服务器的连接断开,该方法也会一直运行到后端完成?感谢您的回答!

【问题讨论】:

    标签: grails grails-2.2


    【解决方案1】:

    如果此超时仅由您的浏览器强制执行,则操作将继续,但可能会失败。特别是,响应输出流将被关闭,任何写入它的尝试都会引发异常。

    【讨论】:

    • 谢谢!所以如果控制器动作没有抛出异常,那么方法就完成了吗?
    • 是的,虽然我猜它可能会抛出一个异常,然后你会捕获它,但它并没有按照你想要的方式完成。但一般来说,是的,只要服务器没有关闭并且没有抛出异常,该操作就会完成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    相关资源
    最近更新 更多