hum*_*ing 5 google-app-engine google-bigquery
我有一个Google App Engine程序,可以调用BigQuery来获取数据.
查询通常需要3 - 4.5秒,并且很好但有时需要超过5秒并抛出此错误:
DeadlineExceededError:API调用urlfetch.Fetch()花了太长时间才响应并被取消.
本文介绍截止日期和不同类型的截止日期错误.
有没有办法将BigQuery作业的截止日期设置为超过5秒?无法在BigQuery API文档中找到它.
BigQuery查询速度很快,但通常需要比默认的App Engine urlfetch超时更长的时间.BigQuery API是异步的,因此您需要将每个短于5秒的API调用分解为步骤.
对于这种情况,我会使用App Engine任务队列:
调用BigQuery API来插入你的工作.这将返回JobID.
在App Engine任务队列上放置一个任务,以检查该ID的BigQuery查询作业的状态.
如果BigQuery作业状态不是"完成",则在队列上放置一个新任务以再次检查它.
如果Status为"DONE",则使用urlfetch进行调用以检索结果.
| 归档时间: |
|
| 查看次数: |
2049 次 |
| 最近记录: |