BigQuery php客户端库queryresult显示isComplete false。但我可以确认查询是否成功

时间:2017-06-08 18:17:45

标签: google-bigquery

$queryResults = $this->bigQuery->runQuery($query, ['parameters' => ['id' => $id]]);

    $info = $queryResults->info();

    var_dump($info);

    // var_dump($queryResults); 

    $isComplete = $queryResults->isComplete();

    if ($isComplete) {
        exit("Insert. Done!");  
    }

查询是"插入选择"声明。我直接在bigquery云控制台上运行成功。

当我在这里使用php客户端库时,查询也成功完成,我可以确认它与我直接在google云控制台上运行查询相同。

但是查询的信息显示isComplete false。

array(3) {
["kind"]=>
string(22) "bigquery#queryResponse"
["jobReference"]=>
array(2) {
["projectId"]=>
string(26) "myprojectid"
["jobId"]=>
string(31) "job_OHcckVSSwAI7pHXijmmUqK5H4XE"
}
["jobComplete"]=>
bool(false)
}

$ queryResults-> info();没有错误报告。我怎么能找出为什么它会告诉我isComplete false?

1 个答案:

答案 0 :(得分:2)

您可能仍需要运行$queryResults -> reload()来更新作业状态。与docs中一样:

$isComplete = $queryResults->isComplete();

while (!$isComplete) {
    sleep(1); // small delay between requests
    $queryResults->reload();
    $isComplete = $queryResults->isComplete();
}