2014-04-27 2 views
2

나는 다음과 같은 써드 파티 장식이 : 나는 다른 장식, @my_retry, 즉하지만 고정 인수, @retry 유사하다을하고 싶습니다고정 장식 인수

def retry(exception_to_check, tries=4, delay=3, backoff=2, logger=None): 

합니다.

나는 functools.partial를 사용하여 그 일을 시도했다 :

my_retry = partial(retry, RETRY_EXCEPTIONS, tries=5, delay=5, backoff=3, logger=logging) 

을하지만, 나는 다음과 같은 예외가 얻을 새로운 장식 사용할 때 :

TypeError: retry() got multiple values for keyword argument 'tries' 

내가 잘못하고있는 중이 야 무엇을? 당신이해야 할 일은

답변

1

def my_retry(retry_exceptions, tries=5, delay=5, backoff=3, logger=logging): 
    return retry(retry_exceptions, tries, delay, backoff, logger) 

처럼 retry 주위에 래퍼를하고 @my_retry()을 사용하는 것입니다.

+0

감사! @my_retry()를 사용해야한다는 것만 제외하면 시도해 보았습니다. – Tzach

+0

@Tzach 그래, 우리는 사용자 정의 함수를 사용하여'retry' 함수를 래핑했습니다 : ... ( – thefourtheye

+0

제게 괜찮습니다. 대답을 업데이트하면 받아 들일 것입니다 .. – Tzach