每天运行Python脚本的最佳方式是什么?

4
我有一个Python脚本,连接到Redshift,执行一系列SQL命令,并生成一个新的派生表。
但是,我无法想出一种自动运行它每天的方法。
我尝试过AWS Data Pipeline,但我的shell脚本无法运行第一个复制语句。 Lambda或Glue无法工作,因为我的公司的IAM策略很严格。 Airflow似乎太过于复杂,只是为了每天运行一个单独的Python脚本。
有没有建议的服务可供参考?

5
除了 cron 作业之外还有什么? - Ignacio Vazquez-Abrams
我有一个批处理作业来触发我已经安排每天自动运行的脚本。 - Abhijeetk431
1
申请IAM策略更改;-) - jarnohenneman
2
Lambda就是为这种事情而生的。和你的老板谈一谈改变IAM策略的事情吧。使用错误的工具来完成任务,浪费AWS资源和现金在EC2实例上似乎有些愚蠢。 - myron-semack
我喜欢Data Pipeline,因为我们在那里构建了其他基于SQL的派生表,所以它是一个集中监控的地方。此外,我正在遵循:http://themrmax.github.io/2015/08/24/A-Python-Script-on-AWS-Data-Pipeline.html 但我会尝试在Lambda上取得进展,因为它似乎更广泛地适用。 - ScottieB
4个回答

7
定时任务?
00 12 * * * /home/scottie/bin/my_python_script.py

在每天的正点(第0分钟)和中午,运行my_python_script.py脚本。


2
我的理解有限,我需要一个服务器来运行它。 - ScottieB

1

我在Windows上使用定时任务。可以使用GUI或at命令输入。


2
在Mac上。如果您的机器关闭会发生什么? - ScottieB
我了解任务计划程序能够从睡眠模式中唤醒。我对Mac知之甚少。 - Mike Robins

1
如果您正在使用AWS Glue或有其他原因安装开发端点,您可以使用Apache Zeppelin根据cron命令的计划运行任何语言的任何代码(如果您有jar文件)。这是我用来每晚运行Redshift维护的笔记本电脑:

在Zeppelin笔记本中进行Redshift维护


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接