2017-09-20 8 views
0

셀러리와 각 프로세스에서 2 개의 프로세스를 허용했습니다. API 요청을 호출해야합니다. 동시에 호출하면 안됩니다. API 서버가 동시 요청을 차단합니다. 해당 기능이 하나의 프로세스에서 실행중인 경우 잠글 수 있습니까?병렬 처리에서 기능을 잠그는 방법

def getlocaionadress(geocode): 
    address = get_address_from_db(geocode) 
    if not address: 
     address = fetchaddress(geocode) 

def fetchaddress(geocode): 
    address = sent_api_request(geocode) 
    return address 

fetchaddress 기능이 이미 하나의 프로세스에서 호출 된 경우 잠글 필요가 있습니다. 어떻게해야합니까? 여러 프로세스에서 실행중인 API 요청의 병렬 호출을 피할 수있는 대체 메커니즘이 있습니까? 셀러리 == 3.1.14, 파이썬 2.7

답변

0

Lock으로 조정할 수 있습니다.

wrap 잠금 기능이있는 방법을 모르겠다. decorator?