我正在使用beanstall将消息放入管道中,并且我希望从我将在运行时启动的新EC2实例中使用它。我可以把信息放在管子里,但无论如何我都无法使用它。
我执行了以下步骤进行测试:
文件:producter.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)
我想知道的另一件事是,我应该如何使用beanstall通过shell脚本将消息传递给新创建的EC2点实例
您将use
一个管道放入消息中。从试管中读取,watch
一个(或多个(试管,当您调用reserve
获取一个时,服务器将返回一条消息
作业将仅从监视列表中的管道中保留,该列表最初包含一个管道,默认。可以使用
watch
将管添加到观察列表中,然后使用ignore
将其删除。为了方便起见,可以在创建客户端时使用watch
参数设置它。https://greenstalk.readthedocs.io/en/stable/quickstart.html#consuming-作业