2016-11-30 61 views
1

我做了一个快速谷歌,并没有能够找到任何权威性的声明。基本上,我正在尝试从SQS中读取事件并对其进行处理,并且预计asio将由greenlet处理。boto3是否支持greenlet?

那么boto3的粒度可以在greenlet中使用吗?我是否需要每个greenlet的会话/客户端?我需要额外的互斥吗?

+0

你对此有什么信息? – vks

+0

@vks迄今没有。 – xis

回答

0

Boto3不,但你可以猴补丁botocore。

在你的模块,你会总是需要猴补丁第一,之后使用botocore会话,例如顶部:

from gevent import monkey 
monkey.patch_all() 

import botocore.session 


def fetch_file(bucket, key): 
    session = botocore.session.get_session() 
    client = session.create_client('S3') 
    return client.get_object(
     Bucket=bucket, 
     Key=key 
    ) 

    result = gevent.spawn(fetch_file('mybucket', 'sd.txt'))