我有一个简单的服务,将消息发布到PubSub主题,偶尔会得到超过截止日期"错误讯息:
GaxError(RPC失败,由终止的RPC的< _Rendezvous引起 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 :(得分:0)
原来我创建了太多的PubSub客户端!
我将此部分移到函数/路径之外,以便主题和客户端是全局变量,并且不会在每次调用时初始化:
pubsub_client = pubsub.Client()
topic = pubsub_client.topic("pubsub-topic")
(在实例化Flask之后):
app = Flask(__name__)