Google Cloud PubSub Error: Deadline Exceeded
Google Cloud PubSub Error: Deadline Exceeded
我有一个向 PubSub 主题发布消息的简单服务,偶尔会收到 "Deadline Exceeded" 错误消息:
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 网络应用程序发布几条消息,可能有几百条消息因该错误而失败。
原来我创建了太多 PubSub 客户端!
我将这部分移到了函数/路由之外,这样主题和客户端就是全局变量,不会在每次调用时都被初始化:
pubsub_client = pubsub.Client()
topic = pubsub_client.topic("pubsub-topic")
(实例化 Flask 之后):
app = Flask(__name__)
我有一个向 PubSub 主题发布消息的简单服务,偶尔会收到 "Deadline Exceeded" 错误消息:
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 网络应用程序发布几条消息,可能有几百条消息因该错误而失败。
原来我创建了太多 PubSub 客户端!
我将这部分移到了函数/路由之外,这样主题和客户端就是全局变量,不会在每次调用时都被初始化:
pubsub_client = pubsub.Client()
topic = pubsub_client.topic("pubsub-topic")
(实例化 Flask 之后):
app = Flask(__name__)