Ведение журнала Stackdriver неправильно обрабатывает трассировку стека Python (код) в облачной функции Google, любая альтернатива? - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть облачная функция Google, написанная на python37, для некоторых условий я регистрирую ошибку (используя ведение журнала), а затем использую quit (код), чтобы положить конец выполнению функции. Ведение журнала ошибок регистрируется правильно в стекдрайвере. Проблема в том, как стековый драйвер обрабатывает quit (). Он будет регистрировать каждую строку в трассировке стека как запись журнала для обработки, как вы можете видеть в перехвате. То же самое происходит, когда я использую sys.exit (код) или поднимаю SystemExit (код). Наконец, облачные функции завершаются с 0, как будто ошибки не было. У кого-нибудь есть альтернатива, чтобы остановить функцию облака после ошибки? тогда любое объяснение поведения стекового драйвера было бы замечательно.

Thx!

enter image description here

1 Ответ

0 голосов
/ 08 ноября 2018

Я решил проблему благодаря этому твиту: как повезло! https://twitter.com/iamdevloper/status/1060067235316809729

Решение было в документации здесь: https://cloud.google.com/functions/docs/monitoring/error-reporting

и с помощью: Raise RuntimeError («Я подвел тебя») решил мою проблему. Очень хороший урок и напоминание :)

...