我有4个linux EC2实例,它们是从同一AMI创建的,用于处理S3中的文件。 我在每个实例上运行相同的python脚本。它需要S3中的文件目录来处理,并带有一个数字告诉它应该处理哪些文件。 说mydir包含myfile1 ... myfile8。
在实例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同步代码并在每个实例上运行。
答案 0 :(得分:1)
您可以尝试使用Fabric。
取自Fabric文档的示例:
from fabric import Connection
result = Connection('web1.example.com').run('uname -s', hide=True)
msg = "Ran {0.command!r} on {0.connection.host}, got stdout:\n{0.stdout}"
print(msg.format(result))
# Output:
# Ran 'uname -s' on web1.example.com, got stdout:
# Linux