1
Twitter API와 상호 작용하는 다음과 같은 샐러리 작업 (간체)이 있습니다.셀러리 작업이 실행되는 동안 셀러리 작업을 중지하고 잠시 후 실행을 계속하는 방법은 무엇입니까?
@app.task
def get_followers(screen_name, **kwargs):
cursor = kwargs.get('cursor', -1)
followers = kwargs.get('followers', [])
while True:
response = twitter_api.call('followers', 'ids', screen_name=screen_name, cursor=cursor)
if response.status_code == '429': # RATE LIMIT EXCEEDED
# do something here
cursor = response.json()['next_cursor']
if cursor == 0: # we're done
break
return followers
나는 속도 제한 명중 몇 시간 동안 작업을 일시 정지하고, 중단 점에서 실행을 재개 할 수 있어야합니다. (또는 오류를 던지고 추가 kwargs 전달 작업을 다시 시도하십시오). 이것이 어떻게 성취 될 수 있는가?
확인이 : http://python-twitter.readthedocs.io/en /latest/rate_limits.html – MYGz
그리고 이것 : https://dev.twitter.com/rest/public/rate-limiting – MYGz
@ mohammad-yusuf-ghazi이 페이지들에 대해 알고 있습니다. 저는 셀러리 부분에 특별히 관심이 있습니다. . 내가 이해하는 한, 'sleep_on_rate_limit = True'가 있고 속도 제한을 초과하면 작업은 "잠깐 들러서"다음 15 분 동안 작업자 공간에서 공간을 차지할 것입니다. 그렇지 않습니까? –