You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now AdManager's WaitForReport waits for 30 seconds (via time.sleep(30)) if the report status is not COMPLETED or FAILED before checking the report status again.
Would it be reasonable to implement an exponential backoff strategy instead where we poll for the status of the report with an exponentially increasing delay? Something like the below seems to work:
wait_time_in_seconds = 1
exponential_backoff_multiplier = 2
...
while status != 'COMPLETED' and status != 'FAILED':
_data_downloader_logger.debug('Report job status: %s', status)
time.sleep(wait_time_in_seconds)
if report_downloader._version > 'v201502':
status = service.getReportJobStatus(report_job_id)
else:
status = service.getReportJob(report_job_id)['reportJobStatus']
# Wait longer if we have to poll the report status again.
wait_time_in_seconds *= exponential_backoff_multiplier
I will be happy to submit a PR if it makes sense to do the above change.
The text was updated successfully, but these errors were encountered:
Right now AdManager's WaitForReport waits for 30 seconds (via time.sleep(30)) if the report status is not
COMPLETED
orFAILED
before checking the report status again.Would it be reasonable to implement an exponential backoff strategy instead where we poll for the status of the report with an exponentially increasing delay? Something like the below seems to work:
I will be happy to submit a PR if it makes sense to do the above change.
The text was updated successfully, but these errors were encountered: