2016-11-30 1 views
1

J'ai fait un google rapide et n'a pas pu trouver de déclarations définitives. Fondamentalement, j'essaie de lire les événements de SQS et les traiter, et l'asio devrait être manipulé par les greenlets.Est-ce que boto3 supporte les greenlets?

Alors, quelle est la granularité de boto3 peut être utilisé dans un greenlet? Ai-je besoin d'une session/client par greenlet? Ai-je besoin de mutex supplémentaire?

+0

avez-vous des informations à ce sujet? – vks

+0

@vks jusqu'à présent pas. – xis

Répondre

0

Boto3 non mais vous pouvez patch botkey singe.

En haut de vos modules vous toujours besoin de patch singe d'abord et utiliser ensuite botocore session, par exemple:

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'))