亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

BigQuery golang 客戶端:使用哪個上下文?

BigQuery golang 客戶端:使用哪個上下文?

Go
暮色呼如 2023-07-31 16:41:58
我正在使用 Go BigQuery 客戶端包,但我對用法有點困惑context。在文檔中,只有該Put函數明確提到使用帶有超時的新上下文以避免無限期重試。context.Background()用于所有其他呼叫是否安全?
查看完整描述

1 回答

?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

來自golang 網站:

包 context 定義了 Context 類型,它攜帶跨 API 邊界和進程之間的截止日期、取消信號和其他請求范圍的值。

因此,上下文被設計為針對每個用例進行調整和定制。您可以使用庫提供的功能來實現這一目標。

WithCancel、WithDeadline 和 WithTimeout 函數采用 Context(父級)并返回派生的 Context(子級)和 CancelFunc。調用 CancelFunc 會取消子級及其子級,刪除父級對子級的引用,并停止任何關聯的計時器

因此,goDocs建議在您的上下文中使用 WithTimeout 函數,同時將數據插入 BigQuery 并防止重復,正如您已經看到的那樣。

唯一必須的是傳遞一個非零的上下文。你通常會使用它context.Background()作為一種方式(正如我在Cloud Github 共享的snippets.gocontext.TODO中看到的那樣),但如果你不確定要使用哪一種,你可以安全地通過。


查看完整回答
反對 回復 2023-07-31
  • 1 回答
  • 0 關注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號