每天远程运行一次Python脚本的最佳方式是什么



我有一个10行的小python脚本,我想每天在某个时间运行一次。

我想在凌晨3点运行它,所以我想远程运行它。

目前,我正在考虑在AWS上运行EC2实例,但对于手头的任务来说,这似乎有点乏味。

有人有类似的经历吗?如果有,对你来说什么是最好的选择。

我正在使用macOS。

您应该使用AWS Lambda,它可以使用Cloudwatch触发,也可以使用cron进行调度。查看cloudwatch规则。您可以创建一个规则,然后在此基础上将触发器添加到lambda中。AWS文档。

另一种选择:

如果你仍然想使用EC2,那么使用一个微实例来执行你的任务,在你的EC2中添加一个cron作业。根据需要使用EC2实例调度程序来启动和停止实例。因此,当您需要EC2时,您将只使用它们。有关自动基于时间的弹性的更多AWS文档,请参阅此处。

如果脚本运行时间不到15分钟,您可以:

  • 使用脚本创建AWS Lambda函数
  • 配置Amazon CloudWatch事件以按计划触发Lambda函数

请参阅:创建按时间表触发的CloudWatch事件规则-Amazon CloudWatch事件

您可以在循环中添加time.sleep(86400(来运行它一次。例如:

import time
while True:
your_basic_code
time.sleep(86400)

如果你的代码不耗时,而且你对时间准确性不感兴趣(如果你可以在凌晨03:01,例如第10天,等等(,这是一个很好的解决方案。还有其他更准确的解决方案,将在03:00 运行代码

最新更新