2017-07-17 28 views
1

我試着分析與AWS Rekognition進行API調用並行

在一個循環的主要功能多張圖片:

with open("Test/frame%d.jpg" % count, "rb") as image: 
    for face in RekognitionClass.detect_faces(image): 
    =>Process result and write in DB 

Rekognition類:

def detect_faces(image, attributes=['ALL'], region="eu-west-1"): 
rekognition = boto3.client("rekognition", region) 
response = rekognition.detect_faces(Image={'Bytes': image.read()}, Attributes=attributes) 
return response['FaceDetails'] 

但一個API調用約需至少2秒,如果可能,我想多打幾個電話

回答

0

我能夠使用python多線程進行更多的並行函數調用,並且每次都在新線程中啓動detect_faces函數。 它與會話使用boto3客戶端的多線程

主要是很重要的:

p = Process(target=RekognitionClass.detect_process_faces, args= (count,)) 
    p.start() 
在RekognitionClass

def detect_faces(count, attributes=['ALL'], region="eu-west-1"): 
session = boto3.session.Session() 
rekognition = session.client("rekognition", region)...