【发布时间】:2018-12-25 10:24:27
【问题描述】:
我知道足够多的 devops 是危险的。我已经成功地向 App Engine 部署了一个非常简单的 python 烧瓶应用程序,它基本上将收到的帖子数据作为消息发布到 PubSub。这样做几乎与 Google 的 sample code 相同。唯一的区别是它使用我通过应用程序存储库推送的服务帐户来访问 PubSub 以规避this issue。
到目前为止工作得很好,但我开始看到在threading.py 中启动新线程时出现了极少数错误:
1)
Traceback (most recent call last):
File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 33, in grpc._cython.cygrpc._spawn_callback_async
File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 24, in grpc._cython.cygrpc._spawn_callback_in_thread
File "/usr/lib/python2.7/threading.py", line 736, in start
_start_new_thread(self.__bootstrap, ())
thread.error: can't start new thread
2)
Traceback (most recent call last):
File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 33, in grpc._cython.cygrpc._spawn_callback_async
File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 24, in grpc._cython.cygrpc._spawn_callback_in_thread
3)
Traceback (most recent call last):
File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 33, in grpc._cython.cygrpc._spawn_callback_async
File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 33, in grpc._cython.cygrpc._spawn_callback_async
File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 24, in grpc._cython.cygrpc._spawn_callback_in_thread
File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 24, in grpc._cython.cygrpc._spawn_callback_in_thread
File "/usr/lib/python2.7/threading.py", line 736, in start
File "/usr/lib/python2.7/threading.py", line 736, in start
我有 2 个问题,按重要性排序:
- 这是一个基本上需要 100% 正常运行时间才能不丢失数据的应用程序(如果我的服务器端出现错误,客户端会尝试重试)。这些错误是 App Engine 如何管理我的应用程序资源的内部错误,并且不会导致处理实际请求的错误吗?如何确定我是否曾响应 HTTP 错误/未成功处理请求?我在我的 nginx 日志中没有看到任何错误...这是我需要查看是否有任何故障的地方吗?
- 有什么方法可以修复这个错误吗?
【问题讨论】:
-
您在这里找到解决方案了吗?我遇到了同样的问题。看起来与此处的问题有关(未得到答复):github.com/grpc/grpc/issues/14523
标签: python google-app-engine nginx google-cloud-platform google-app-engine-python