跨多个EC2实例自动运行相同python脚本的简单方法?

跨多个EC2实例自动运行相同python脚本的简单方法?,python,amazon-ec2,Python,Amazon Ec2,我有4个LinuxEC2实例,它们是从我用来在S3中处理文件的同一个AMI创建的。 我在每个实例上运行相同的python脚本。它需要S3中的一个文件目录来处理,并需要一个数字来告诉它应该处理哪些文件。 假设mydir包含myfile1。。。我的文件8 在实例0上,我调用: python process.py mydir 0 这导致它处理myfile1和myfile5 在实例1中,我调用: python process.py mydir 1 这导致它处理myfile2和myfile2 等等 在脚本

我有4个LinuxEC2实例,它们是从我用来在S3中处理文件的同一个AMI创建的。 我在每个实例上运行相同的python脚本。它需要S3中的一个文件目录来处理,并需要一个数字来告诉它应该处理哪些文件。 假设mydir包含myfile1。。。我的文件8

在实例0上,我调用: python process.py mydir 0 这导致它处理myfile1和myfile5

在实例1中,我调用: python process.py mydir 1 这导致它处理myfile2和myfile2

等等

在脚本中,我执行以下操作: keys=keys[pid::4],其中pid是来自命令行的参数

我通过从S3同步来重新发布对python脚本的更改

有没有一种简单的方法可以进一步自动化这个过程? 我想按下一个按钮,说dir=yourdir,让它从s3同步代码并在每个实例上运行。

您可以尝试使用。
结构文档中的示例:

来自结构导入连接的

结果=连接('web1.example.com')。运行('uname-s',hide=True)
msg=“在{0.connection.host}上运行{0.command!r},获得stdout:\n{0.stdout}”
打印(消息格式(结果))
#输出:
#在web1.example.com上运行“uname-s”,获得标准输出:
#Linux