AWS Elastic Beanstalk Worker在长时间计算期间不活动后超时

 橄榄村 发布于 2023-01-06 19:52

我正在尝试使用Amazon Elastic Beanstalk运行一个非常长的数值模拟 - 长达20小时.当我告诉它进行短暂的20秒模拟时,代码可以很好地工作.但是,当运行较长的一个时,我收到错误"以下实例在允许的命令超时时间内没有响应(它们可能最终仍然自己完成)".

在浏览网页之后,在我看来问题是Elastic Beanstalk允许工作进程最多运行30分钟,然后它们超时,因为实例没有响应(即完成模拟).一些人提出的解决方案是每隔30秒左右发送一条消息"ping"Elastic Beanstalk,让它知道模拟进展顺利,所以它不会超时,这将让我运行一个很长的工作进程.所以我有几个问题:

    这是正确的方法吗?

    如果是这样,我会向项目中添加哪些代码或配置以使其尽早停止?

    如果没有,我如何在AWS或更普遍的云上顺利运行12小时以上的模拟?

添加信息 感谢您的反馈,Rohit.为了提供更多信息,我正在使用Python和Flask.

•我确实使用带有SQS队列的Elastic Beanstalk工作层

•在我的代码中,我正在运行可变长度的模拟 - 从短至20秒到长达20小时.Elastic Beanstalk所做的99%的工作都在运行模拟.另外1%涉及保存结果,发送电子邮件等.

•模拟本身涉及使用生成许多随机数并使用我定义的对象.我在这里使用numpy.

如果我能提供更多信息,请告诉我.我非常感谢帮助:)

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有