【问题标题】:server encountered error while processing large data in Google App Engine java服务器在 Google App Engine java 中处理大数据时遇到错误
【发布时间】:2014-09-19 10:02:26
【问题描述】:

我的代码是用jsp编写的,用于从CSV文件导入产品。

对于少于 300 - 400 种产品的导入,该过程运行良好。但是,当我尝试处理 1000 或更多的大量行时,由于其漫长的过程,它给了我以下错误。

我正在将 Google App Engine 与 Google Cloud SQL 结合使用。此问题不仅仅发生在此产品导入系统中。但是我观察了很多次,这是由于执行的过程时间长。

注意:在本地系统中运行良好,但在谷歌应用服务器上部署后出现问题

500 服务器错误

错误:服务器错误

服务器遇到错误,无法完成您的请求。

请在 30 秒后重试。

jsp或servlet文件中是否有特殊配置?
这个问题是否与任何会话到期时间有关? (我也试过 session.setMaxInactiveInterval(500000))
google-app-engine 上是否有任何配置?

任何帮助将不胜感激。

提前谢谢..!!

【问题讨论】:

    标签: java jsp google-app-engine servlets connection-timeout


    【解决方案1】:

    如果您的导入时间超过 60 秒,则您的问题记录在 [1] 中。

    Google App Engine 请求计时器 (Java/Python/Go) 确保请求具有有限的生命周期,并且不会陷入无限循环。目前,对前端实例的请求的截止时间是 60 秒。 (后端实例没有相应的限制。)每个请求,包括预热(请求/_ah/warmup)和加载请求(“loading_request=1”日志头),都受此限制。

    如果请求未能在 60 秒内返回并且抛出 DeadlineExceededError 且未被捕获,则请求中止并返回 500 内部服务器错误。如果 DeadlineExceededError 被捕获,但响应速度不够快(不到一秒),请求将被中止并返回 500 内部服务器错误。

    希望这会有所帮助。 再见 保罗

    链接: [1] - https://developers.google.com/appengine/articles/deadlineexceedederrors

    【讨论】:

    • 补充一点,如果预计任务需要很长时间,它可以作为任务运行(有更长的截止日期)。另请参阅this page 表格中关于不同模块扩展选项的截止日期。
    • @tx802 任务仍然有限(请注意,10 分钟应该足够了,但仍然如此)。只是为了完成,OP 可以使用带有模块的后端实例来处理可能需要超过 10 分钟的作业
    猜你喜欢
    • 2020-02-20
    • 2021-07-31
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 2021-02-11
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    相关资源
    最近更新 更多