From 57a2ec897d6ca229636f1b518fda153cefe46b49 Mon Sep 17 00:00:00 2001 From: Guillaume Desforges Date: Mon, 4 Jan 2021 09:52:24 +0100 Subject: [PATCH] Set on_giveup in backoff to reraise Exception --- tap_google_analytics/client.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tap_google_analytics/client.py b/tap_google_analytics/client.py index 865b927..e8eedf4 100644 --- a/tap_google_analytics/client.py +++ b/tap_google_analytics/client.py @@ -234,10 +234,16 @@ def generate_report_definition(self, stream): return report_definition + # by default, program should re-raise exceptions on giveup, + # or else program ends with code 0 when it failed + def on_giveup_handler(details): + raise Exception(f"Gave up! Details: {details}") + @backoff.on_exception(backoff.expo, (HttpError, socket.timeout), max_tries=10, - giveup=is_fatal_error) + giveup=is_fatal_error, + on_giveup=on_giveup_handler) def query_api(self, start_date, end_date, report_definition, pageToken=None, segment_id=None): """Queries the Analytics Reporting API V4.