Holen Sie sich 504 Gateway-Auszeiten, wenn Sie Person-Events API anrufenPython

Python-Programme
Anonymous
 Holen Sie sich 504 Gateway-Auszeiten, wenn Sie Person-Events API anrufen

Post by Anonymous »

Wir haben die Person-Event-API angerufen, um Ereignisdaten zu erhalten und nach einigen Anfragen "504 Gateway Time-Out" -Fehler zu erhalten. Setzen Sie 5000 "Offset" pro Anfrage, um in den 24 Stunden vollständige Ereignisse zu erhalten. Der Job dauerte normalerweise weniger als 30 Minuten, aber nach 8/12 stellten wir fest, dass es über 10 Stunden (20 Stunden in einem der Tage) dauerte, um den Job zu erledigen. Es stört unsere nachgeschalteten Jobausführungen. < /P>
Wir haben die Fehlermeldung als Antwort gefunden. Es ist der Nebenfehler des Servers, der wahrscheinlich durch überwältigendes Volumen oder Drossel verursacht wird. Und können keine Banno -Ereignisdaten erhalten. Es begann dieses Problem in der vergangenen Woche zu haben. Beispielcode wird im Screenshot bereitgestellt. Fehlermeldung "504 Gateway Time-Out" in der Antwort.

Code: Select all

while True:
sleep(5)  # add waiting time to avoid get token error
access_token = get_access_token()
decoded = jwt.decode(access_token, options={"verify_signature": False})
end_point = f'/a/history/api/v0/institutions/{decoded["institutionId"]}/person-events'
print(f'pulling data, from: {from_datetime}, offset: {tot_cnt}')
resp = requests.get(base_url + end_point,
headers = {'Authorization': f"Bearer {access_token}"},
params = {'to': to_datetime,
'from': from_datetime,
'offset': tot_cnt,
'count': BANNOAPI_MAX_BATCH_SIZE})
try:
events = json.loads(resp.text)
except:
print(f'error when loading json, from: {from_datetime}, to: {to_datetime}, will retry')
sleep(60)  # add extra waiting time
continue
if not events:
break
tot_cnt += len(events)  # offset count
start_dt = events[-1]['date']
end_dt = events[0]['date']

start_dt_2 = dateutil.parser.parse(start_dt).strftime('%Y-%m-%dT%H%M%S')
end_dt_2 = dateutil.parser.parse(end_dt).strftime('%Y-%m-%dT%H%M%S')
pd.to_pickle(events, f'./{start_dt_2}_to_{end_dt_2}.pkl')
Beispielanforderungscode
Parse JSON fehlgeschlagen wegen 504 -Fehler
Erwarten Sie, dass Banno -Ereignisdaten aus der Antwort abgerufen werden, aber fehlgeschlagen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post