如何使用豆茎管

2024-04-16 06:40:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用beanstalk将消息放入试管中,我想从运行时启动的新EC2实例中使用它。我能把信息放进管子里,但我无论如何也不能把它吃掉

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

文件:producer.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')

文件:consumer.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 spot实例


1条回答
网友
1楼 · 发布于 2024-04-16 06:40:55

你将use一根管子放在一条信息里。 从一个(或多个)管道读取数据时,您watch一个(或多个)管道,当您调用reserve获取管道时,服务器将返回一条消息

Jobs will only be reserved from tubes on the watch list, which initially contains a single tube, default. You can add tubes to the watch list with watch and remove them with ignore. For convenience, it can be set with the watch argument when creating a Client. https://greenstalk.readthedocs.io/en/stable/quickstart.html#consuming-jobs

相关问题 更多 >