1

我正在使用 beanstalk 将消息放入管中,我想从我将在运行时启动的新 EC2 实例中使用它。我可以将消息放入管中,但我无法以任何方式消费它。

我执行了以下步骤进行测试:

文件:生产者.py

#!/usr/bin/env python
import greenstalk
import json
import sys

beanstalkTube = 'tube-name'
beanstalkHost = 'host'
beanstalkPort = 11301

client = greenstalk.Client((beanstalkHost, beanstalkPort))
client.use(beanstalkTube)

client.put('message 1')

文件:消费者.py

#!/usr/bin/env python
import greenstalk
import json
import sys

beanstalkTube = 'tube-name'
beanstalkHost = 'host'
beanstalkPort = 11301

client = greenstalk.Client((beanstalkHost, beanstalkPort))
client.use(beanstalkTube)


job = client.reserve()

print("job_id:"+job.id)
print("job_body:"+job.body)

我想知道的另一件事是我应该如何使用 beanstalk 通过 shell 脚本将消息传递给新创建的 EC2 现货实例

4

1 回答 1

1

你会use用管子输入信息。从管中读取watch一个(或多个)管,当您调用reserve获取一个时服务器将返回一条消息

作业将仅从监视列表中的管中保留,该列表最初包含一个管,默认为。您可以使用 将管子添加到观察列表中,使用watch删除它们ignore。为方便起见,可以watch在创建客户端时使用参数进行设置。https://greenstalk.readthedocs.io/en/stable/quickstart.html#sumption-jobs

于 2021-07-13T12:00:43.727 回答