跟进this
我现在发现我的两份工作分别需要2-4秒和8-15秒。
当我从Bigquery.go客户端库运行我的两个作业时,它们在50-70秒后完成。我使用job.Wait()并尝试了我自己的轮询功能(每5秒轮询一次),但没有明显的变化。这是客户端库中,链接级别还是我的代码中的问题?
作业1(数据库查询,通过控制台检查时约为5秒)
job, err := database_query.Run(ctx)
if err != nil {
return err
}
jobID := job.ID()
job, err = client.JobFromID(ctx, jobID)
if err != nil {
return err
}
status, err := job.Wait(ctx)
if err != nil {
return err
}
工作2(通过控制台检查时约为12秒)
job_extract, err := extractor.Run(ctx)
if err != nil {
return err
}
status, err = job_extract.Wait(ctx)
if err != nil {
return err
}
if status.Err() != nil {
handler.Logger.Criticalf("Job failed with error %v", status.Err())
return status.Err()
}
在此之后有一个简单的返回代码200。
我知道有些代码没有做任何会在以后删除的代码。