From 62405a27530dfc3886595bb49e0f961f311351ce Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Mon, 11 May 2020 13:43:04 +0200 Subject: [PATCH] packager_alias: Another fix for when somehow pagure doesn't return JSON data From the logs of this cron job running, it appears that every now and then a request to pagure isn't returning JSON data. Could be because the server got restarted in the middle or something else. The result is however the same, the request's data can't be converted to JSON. This commit is an addition to 0db60354547c154dcec874470eb5e4792c70e63d which was already taking care of a similar issue but when retrieving project information, this one is for retrieving groups information. Signed-off-by: Pierre-Yves Chibon --- .../files/owner-email-from-pagure.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/roles/packager_alias/files/owner-email-from-pagure.py b/roles/packager_alias/files/owner-email-from-pagure.py index a4e6f878c8..b9b1a42b12 100644 --- a/roles/packager_alias/files/owner-email-from-pagure.py +++ b/roles/packager_alias/files/owner-email-from-pagure.py @@ -72,8 +72,20 @@ for project in get_pagure_projects(): if group in group_data: users = users | group_data[group] continue - group_members = session.get( - pagure_group_url.format(group=group)).json()['members'] + + cnt = 0 + while True: + try: + response = session.get(pagure_group_url.format(group=group)) + data = response.json() + break + except Exception: + if cnt == 4: + raise + cnt += 1 + time.sleep(30) + + group_members = data['members'] users = users | set(group_members) group_data[group] = set(group_members)