[英]How to send data between 2 EC2 instances
我有两个 AWS EC2 实例,一个运行 a.py 和 b.py。 这两个程序使用另一个程序生成的数据来完成任务,a.py 等待 b.py 创建一些数据,它用来创建一些数据,a.py 将使用这些数据来创建 b.py 将....基本上,他们会一直来回传递数据,直到满足条件。
我一直无法找到具体定义如何执行此操作的地方。 最理想的是,我想以最小的时间延迟来做到这一点。
由于您已经在使用 AWS,因此 SQS 队列是解决此类问题的原生解决方案。 要完成该任务,您需要创建两个 SQS 队列:
然后制作一个.py,沿着这些方向:
import boto3
# Create SQS client
sqs = boto3.client('sqs')
queue_a_url = 'SQS_QUEUE_URL'
queue_b_url = 'SQS_QUEUE_URL'
while (1):
messages = sqs.receive_messages(
MaxNumberOfMessages=10,
WaitTimeSeconds=10,
QueueUrl=queue_a_url,
)
for msg in messages:
logger.info("Received: %s: %s", msg.message_id, msg.body)
#Do whatever you need to do with the message
response = sqs.send_message(
QueueUrl=queue_b_url,
MessageBody=(
'something to process by script B'
)
)
您可以将它们创建为 FIFO 队列,以确保消息按顺序排列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.