第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在特定的“完成”狀態(tài)下獲得工作

如何在特定的“完成”狀態(tài)下獲得工作

有只小跳蛙 2021-11-09 18:27:25
我正在嘗試確定各種工作狀態(tài)。Bigquery 提供了我知道的三種狀態(tài):DONE、PENDING 和 RUNNING。但是,我正在嘗試根據(jù)以下內(nèi)容獲取狀態(tài):完畢待辦的成功的錯(cuò)誤取消跑步我將如何以不太“昂貴”的方式執(zhí)行此操作,因?yàn)槲艺谝砸环N“長(zhǎng)輪詢”方式迭代大約 100 個(gè)結(jié)果,大約每十秒一次。目前我正在做類似的事情:jobs = [job for job in self.bq_client.list_jobs(project=PROJECT_ID]if state is not None:    jobs = [job for job in jobs if job.state == state]如果狀態(tài)為 DONE、RUNNING 或 PENDING 之一,則上述方法有效。但是我將如何覆蓋其他州?
查看完整描述

1 回答

?
www說(shuō)

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊

狀態(tài)跟蹤作業(yè)進(jìn)度,如果你需要成功/失敗,你要考慮的信息errorResult中的響應(yīng)。對(duì)于成功的工作,這將是None,對(duì)于取消的工作,您將得到{u'reason': u'stopped', u'message': u'Job execution was cancelled: User requested cancellation'}。我用來(lái)測(cè)試這個(gè)的代碼:


from google.cloud import bigquery

client = bigquery.Client()


project = "[PROJECT-ID]"

states = ["RUNNING", "PENDING", "SUCCESSFUL", "CANCELLED", "FAILED"]



def returnState(job):

  if job.state == "DONE":

    if job.error_result is None:

      return "SUCCESSFUL"

    elif job.error_result['reason'] == u'stopped':

      return "CANCELLED"

    else:

      return "FAILED"

  else:

    return job.state



jobs = [job for job in client.list_jobs(project=project, max_results=10)]


for state in states:

  matching_jobs = [job for job in jobs if returnState(job) == state]


  for job in matching_jobs:

    print "Job ID: {0}, State: {1}, Error Result: {2}".format(job.job_id, state, job.error_result)

這將打印出如下內(nèi)容:


$ python bq-status.py

Job ID: bquijob_..., State: SUCCESSFUL, Error Result: None

Job ID: bquijob_..., State: SUCCESSFUL, Error Result: None

Job ID: job_..., State: SUCCESSFUL, Error Result: None

Job ID: job_..., State: SUCCESSFUL, Error Result: None

Job ID: job_..., State: SUCCESSFUL, Error Result: None

Job ID: job_..., State: SUCCESSFUL, Error Result: None

Job ID: scheduled_query_..., State: SUCCESSFUL, Error Result: None

Job ID: bquijob_..., State: SUCCESSFUL, Error Result: None

Job ID: bquijob_..., State: CANCELLED, Error Result: {u'reason': u'stopped', u'message': u'Job execution was cancelled: User requested cancellation'}

Job ID: bquijob_..., State: FAILED, Error Result: {u'reason': u'invalidQuery', u'message': u'Syntax error: Illegal input character "\\\\" at [2:18]', u'location': u'query'}

請(qǐng)記住,負(fù)載的工作可能是成功的,但允許一些maxBadRecords,這樣errorResult將不為空,等等。


查看完整回答
反對(duì) 回復(fù) 2021-11-09
  • 1 回答
  • 0 關(guān)注
  • 240 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)