安排python脚本在AWS中运行

时间:2016-05-31 19:08:56

标签: python amazon-web-services cron aws-lambda

我有3个python脚本,我想安排在AWS中的不同时间运行。目前,我有3个脚本驻留在EC2实例中,我使用cron来运行它们。第一个和第二个脚本将一些数据下载到EC2框上的特定目录(例如/home/ec2-user/data)。第三个使用下载的数据运行。

有时,前两个脚本中的一个会导致第三个脚本失败。但是,除非我在脚本中构建故障恢复逻辑,否则我无法通过cron重试失败的脚本。另外,我对使用EC2实例感到不满意。这不是一个好的解决方案。最好使用AWS服务。

我想知道AWS Lambda是否可以在这里使用?如果是这样,我如何指定数据的下载位置,以及第三个脚本从何处读取数据?

或者AWS中是否有其他服务可以最适合这种情况?

2 个答案:

答案 0 :(得分:1)

是的,你可以使用aws lambda。您可以使用s3满足数据存储需求。

您可能需要考虑的一个限制是,执行作业所允许的最长时间为300秒。

参考: http://docs.aws.amazon.com/lambda/latest/dg/with-scheduled-events.html

答案 1 :(得分:0)

从AWS Elastic Beanstalk检查工作线程环境。这将启动EC2和SQS队列,由AWS EB自动管理 - Docs和简单的tutorial。在当前上下文中,脚本必须以某种方式进行通信,因为第三个脚本受第二个脚本的限制。运行脚本需要多长时间?你能合并脚本吗?请提供更多详情。