使用Python使用API​​(完全处理)来提取omniture数据,从而达到错误max_queue_checks

时间:2016-08-29 13:54:07

标签: python adobe adobe-analytics

我试图从API(完全处理)中提取数据, 附上我用于相同代码段的代码片段:

from sitecat_py.pandas_api import SiteCatPandas

report_description = {
"reportSuiteID": "**********",
"dateFrom": "2016-08-22",
"dateTo": "2016-08-28",
"dateGranularity": "day",
"metrics": [{"id": "orders"},{"id": "revenue"}],
"elements": [{"id": "product", "classification": "Base Item ID", "selected" : item_list}]
}
df = sc_pd.read_sc_api(report_description)

其中,' item_list'是一个包含250个基本项目ID的列表

此代码运行正常,但有时队列检查超过20并在控制台中抛出此错误:

queue check 1
queue check 2
queue check 3
queue check 4
queue check 5
queue check 6
queue check 7
queue check 8
queue check 9
queue check 10
queue check 11
queue check 12
queue check 13
queue check 14
queue check 15
queue check 16
queue check 17
queue check 18
queue check 19
queue check 20
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "sitecat_py\pandas_api.py", line 65, in read_sc_api
jdata = self.omni.get_report(**kwargs)
File "sitecat_py\python_api.py", line 173, in get_report
return self.make_queued_report_request(method, **kwargs)
File "sitecat_py\python_api.py", line 82, in make_queued_report_request
raise Exception('max_queue_checks reached!!')
Exception: max_queue_checks reached!!

我尝试将列表中的项目数量减少到100,但有时即使使用减少的项目列表,我也会得到此错误(它第一次运行并且当我第二次运行时出现相同的错误相同的项目清单)

对于我可以安全地提取数据的项目数量是否有任何安全限制,而不会抛出此错误,因为它似乎与行数无关?

提前致谢

1 个答案:

答案 0 :(得分:0)

我在上面的论坛上发布了同样的问题,这个答案很有帮助

https://marketing.adobe.com/developer/forum/reporting/pulling-omniture-data-using-api-fully-processed-using-python-error-max-queue-checks-reached?page=1#comment_5281

通过更改&#39; max_queue_checks&#39;的值在&#39; pandas_api.py&#39;如果某个更高的值允许程序检查数据是否已被拉长一段时间,您可以根据您的要求将其更改为更大的数字

然而,不要使该值非常大,因为它将允许低效的数据获取请求运行更长的持续时间,这将减慢服务的速度。