2017-02-17 102 views
1

我有一個簡單的服務,消息發佈到PubSub的話題,偶爾得到一個「最後期限超時」的錯誤消息:谷歌雲PubSub的錯誤:已逾期

GaxError(RPC failed, caused by <_Rendezvous of RPC that terminated with (StatusCode.DEADLINE_EXCEEDED, Deadline Exceeded)>)

Python代碼:

from google.cloud import pubsub 
pubsub_client = pubsub.Client() 
topic = pubsub_client.topic("pubsub-topic") 
data = data.encode('utf-8') 
message_id = topic.publish(data) 

它從Flask網絡應用程序每秒發佈幾條消息,可能有幾百條消息會因爲該錯誤而失敗。

回答

0

原來我創建了太多的PubSub客戶端!

我感動的功能/路由超出這個部分,這樣的話題和客戶端的全局變量,而不是每次調用初始化:

pubsub_client = pubsub.Client() 
topic = pubsub_client.topic("pubsub-topic") 

(實例燒瓶內右):

app = Flask(__name__) 
+0

什麼是燒瓶?我也面臨同樣的問題 –