首页 > 解决方案 > AWS EC2 连续一个月运行 python 程序

问题描述

我正在用 Python 编写一个程序,该程序需要连续运行 30 天。它连接到一个 MQTT 客户端,并监听多个主题的消息。

我使用了一个运行 Linux AMI 的 EC2 服务器实例,我想知道如何将其设置为在这段时间内持续运行?

我一直在寻找 cronjobs 并每 X 天重新启动一次,但如果可能的话,最好系统应该没有停机时间。

但是,我不确定如何设置它并确保在服务器/程序失败时重新启动脚本。

客户端将通过亚马逊连接到 OpenVPN VPC,然后运行脚本并保持运行。这可以设置吗?

我运行的版本是:
Amazon Linux AMI 2018.03.0.20180811 x86_64 HVM GP2

NAME="Amazon Linux AMI" 
VERSION="2018.03"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"

标签: pythonamazon-web-servicesamazon-ec2

解决方案


您可以通过使用 Auto Scaling 自动维护所需数量的 EC2 实例来实现此目的。如果实例无响应或未通过健康检查,Auto Scaling 将启动一个新实例。请参阅:https ://docs.aws.amazon.com/autoscaling/ec2/userguide/as-maintain-instance-levels.html

您需要创建系统的 AMI 以用于启动新实例,或者将您的配置放入用户数据脚本中。


推荐阅读