当前位置: 首页 > 知识库问答 >
问题:

为什么我的枪蟒/烧瓶工人退出信号术语?

彭弘方
2023-03-14

我有一个Python/Flask Web应用程序,我正在通过Gunicorn在Amazon ECS上的docker映像中部署它。一切都很顺利,然后突然,包括最后一个成功的请求,我在日志中看到了这一点:

< code >[2017-03-29 21:49:42 0000][14][DEBUG]GET/heat map _ column/e4c 53623-2758-4863-af06-91bd 002 e 0107/ADA[2017-03-29 21:49:43 0000][1][INFO]处理信号:term [2017-03-29 21:49:43 0000...[2017-03-29 21:49:43 0000][1][INFO]关闭:主

然后进程消失,程序退出。然后ECS重新启动服务,docker映像再次运行,但同时服务中断。

什么会导致我的程序获得 TERM 信号?我在网上找不到任何关于这种情况的参考资料。请注意,这只发生在 ECS 上的 Docker 中,而不是在本地。

共有3个答案

卫飞鹏
2023-03-14

要在 ECS 的 AWS 控制台上添加 rjurney 的评论,您可以通过检查 ECS 集群下运行的服务的“事件”选项卡来检查应用程序的状态。这就是我如何发现失败的健康检查和其他问题。

林修雅
2023-03-14

虽然不是特别适用于问题中的问题,但这种行为可能是由容器编排(即Kubernetes)等外部系统引起的。

例如,

  1. 从启动成本高的映像构建的pod开始
  2. 活性探针超时
  3. 库伯内特斯发送签名条款优雅地停止容器

在Kubernetes场景中,一个解决方案可能是调整活跃度或就绪性探测器配置,以允许更长的启动时间。

狄新立
2023-03-14

原来,在向系统添加了一个登录页面之后,健康检查得到了一个302重定向到/login at /,这是健康检查失败。所以容器定期被杀死。亚马逊支持太牛逼了!

 类似资料:
  • 运行代码时,我不断收到以下错误: 类型错误:“响应”对象不可调用 这是我的代码...

  • 我发现很难找到有关这方面的资料。会是什么?我如何解决这个问题?有哪些可能的修复方法? UWSGI日志文件 时钟来源:unix检测到CPU核数:4当前工作目录:/home/pi检测到二进制路径:/usr/local/bin/uwsgi!!!没有内部路由支持,重建与pcre支持!!!*警告:您在没有主进程管理器的情况下运行uWSGI进程数限制为7336内存页大小为4096字节检测到最大文件描述符号:6

  • 我正在使用flask应用程序工厂模式,比如,并运行这个。py文件: 然后我像这样运行应用程序: 但是当我去http://localhost:5000它不起作用。它说: 未找到 在服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试。 可能有什么问题?当我有127.0.0.1地址时,它运行良好。。。 我需要在“localhost”上运行,因为我正在集成方形支付,他们的沙盒设置需要我从“

  • 我有如下代码- 在这里,当app.run(host='127.0.0.1 ',port='80 ')运行时,会给出URL - http://127.0.0.1/getcode。我需要手动打开输入用户名和密码,然后又一个窗口来输入YOB,然后给我这样的东西- 我的问题是,有没有一种方法可以避免手动打开浏览器,输入凭证并获取代码。我们可以用python来解析整个事情吗?

  • 问题内容: 当我退出“活动”退出(通过“后退”按钮)时,我的应用程序崩溃。据我所知,这是在Android代码库中发生的,而不是我的,但是我并不完全相信。 这是来自adb的stacktrace: 有人有什么想法/建议吗? 问题答案: 无助,因为没有代码。还在看 造成原因:android.app.Activity.performStop(Activity.java:3575)上的java.lang.N

  • 我正在使用flask-RESTful开发API,并且对Flask的jsonify函数有问题。我正在使用flask-marshmlet进行JSON序列化。下面是一个非常简化的代码片段: 在本地,endpoint将返回具有键“data”和“error”的json;但是,当在Linux服务器上运行时,它会返回一个包含列表和在没有“data”和“error”键的情况下返回的结果。 我已经确定这种不一致是由