Кажется, проблема в
Google облако-PubSub == 0.39.1
Google-апи-питон-клиент == 1.7.8
, когда выполнение цикла в потоке, когда учетные данные выходят из строя, приводит к тому, что поток python3 1456 root 71u IPv4 46501 0t0 TCP XXX-XXXXX-XXXX:47074->YYYYYYYY-YY-YYYYY.1e100.net:https (CLOSE_WAIT)
файлов остается открытым и в конечном итоге вызывает проблему «слишком много открытых файлов».
Проблема не в самом pubsub, а в gRPC.
8 мая 22:34:41 .sh [17736]: обратная связь (последний вызов был последним):
8 мая 22:34:41 .sh [17736]: файл "/opt///lib/python3.6/site-packages/google/api_core/grpc_helpers.py", строка 57, в error_remapped_callable
8 мая 22:34:41 .sh [17736]: возвращаемая функция _ (* args, ** kwargs)
8 мая 22:34:41 .sh [17736]: файл "/opt///lib/python3.6/site-packages/grpc/_channel.py", строка 562, в вызов
8 мая 22:34:41 .sh [17736]: return _end_unary_response_blocking (состояние, вызов, ложь, нет)
8 мая 22:34:41 .sh [17736]: файл "/opt///lib/python3.6/site-packages/grpc/_channel.py", строка 466, в _end_unary_response_blocking
8 мая 22:34:41 .sh [17736]: повышение _Rendezvous (состояние, нет, нет, крайний срок)
8 мая 22:34:41 .sh [17736]: grpc._channel._Rendezvous: <_Rendezvous для RPC, завершившегося символом:
8 мая 22:34:41 .sh [17736]: # 011status = StatusCode.UNAVAILABLE
8 мая 22:34:41 .sh [17736]: # 011details = "Не удалось получить метаданные из плагина с ошибкой: ('invalid_grant: неверная подпись JWT.', '{\ N" error ":" invalid_grant ", \ n" error_description ":" Недопустимая подпись JWT. "\ n} ')"
8 мая 22:34:41 .sh [17736]: # 011debug_error_string = "{" созданный ":" @ 1557354881.258250528 "," description ":" Ошибка получения метаданных из плагина: ('invalid_grant: недопустимая подпись JWT.', '{\ n "error": "invalid_grant", \ n "error_description": "Invalid JWT Signature." \ n}') "," file ":" src / core / lib / security / credentials / plugin / plugin_credentials. сс " "file_line": 79, "grpc_status": 14}"
8 мая 22:34:41 .sh [17736]:>
8 мая 22:34:41 .sh [17736]: Вышеуказанное исключение было прямой причиной следующего исключения:
8 мая 22:34:41 .sh [17736]: обратная связь (последний вызов был последним):
8 мая 22:34:41 .sh [17736]: Файл "/opt///lib/python3.6/site-packages/lt/cloud/cloudpull.py", строка 113, в subscribeToStuff
8 мая 22:34:41 .sh [17736]: pull_response = subscriber.pull (subscription_path, max_messages = NUM_MESSAGES, тайм-аут = 60, повтор = Нет)
8 мая 22:34:41 .sh [17736]: файл "/opt///lib/python3.6/site-packages/google/cloud/pubsub_v1/_gapic.py", строка 45, в
8 мая 22:34:41 .sh [17736]: fx = лямбда-сам, * a, ** квт: wrapped_fx (self.api, * а, ** квт) # noqa
8 мая 22:34:41 .sh [17736]: файл "/opt///lib/python3.6/site-packages/google/cloud/pubsub_v1/gapic/subscriber_client.py", строка 860, в режиме ожидания
8 мая 22:34:41 .sh [17736]: запрос, повтор = повтор, тайм-аут = тайм-аут, метаданные = метаданные
8 мая 22:34:41 .sh [17736]: файл "/opt///lib/python3.6/site-packages/google/api_core/gapic_v1/method.py", строка 143, в call
8 мая 22:34:41 .sh [17736]: вернуть wrapped_func (* args, ** kwargs)
8 мая 22:34:41 .sh [17736]: файл "/opt///lib/python3.6/site-packages/google/api_core/timeout.py", строка 102, в func_with_timeout
8 мая 22:34:41 .sh [17736]: функция возврата (* args, ** kwargs)
8 мая 22:34:41 .sh [17736]: файл "/opt///lib/python3.6/site-packages/google/api_core/grpc_helpers.py", строка 59, в error_remapped_callable
8 мая 22:34:41 .sh [17736]: six.raise_from (exceptions.from_grpc_error (exc), exc)
8 мая 22:34:41 .sh [17736]: файл "", строка 3, в Raise_from
8 мая 22:34:41 .sh [17736]: google.api_core.exceptions.ServiceUnavailable: 503 Ошибка получения метаданных из плагина с ошибкой: ('invalid_grant: неверная подпись JWT.', '{\ N "error": "invalid_grant ", \ n" error_description ":" Недопустимая подпись JWT. "\ n} ')