Ratelimit der Coingecko-API berücksichtigen

Einfach zur Vollständigkeit - die Rate Limit Exceed Meldung kommt beim API und nicht beim JSON file Request. Aber guter Punkt, ich hab noch ein paar alte Coins die auf JSON sind und werde die jetzt umstellen.

image

Die greifen ja beide auf die gleiche API zu, hat sich bestimmt gebissen

4 Likes

Hallo @ProgFriese @Jo92 @Rafa @Sleestak84

Es ist egal auf welche Art… man ruf die API auf und dann zählt das als Aufruf.


Jipp…



Erklärungsversuch der Funktion:
Vereinfacht erklärt läuft im Hintergrund von PP eine Zeittaktschleife. Sagen wir mal im Sekundentakt. Die Anfragen werden in einer Liste gesammelt und stehen im Speicher. Für jede Anfrage hinterlegen wir einen Token. Also bei 100 Wertpapieren sind 100 Token gespeichert.

Wenn dann, sobald dann ein Token eine Freigabe erhält (das wird willkürlich entschieden, also nicht sortiert), dann wird die Abfrage an den Kurslieferanten ausgeführt.
Wenn Kurslieferanten angeben z. B. 30 Abfragen / Minute, dann bedeutet das nicht, dass in der 1sten Sekunde 30 Abfragen beantwortet werden, sondern 0,5 Anfragen pro Sekunde bearbeitet werden. 0,5 Anfragen gibt es aber nicht, sondern 1,0 Anfragen.
Mit den 10 Anfragen pro Minute gab es bisher keine Fehler bei mir.
Rechenformel lautet in PP also (mit kleiner Sicherheit von 0,5 Anfragen, als Delay)
(10 Anfragen - 0.5 Anfragen) / 60 Sekunden = 0,1583 Anfragen pro Sekunde

Der zweite Punkte ist, dass API’s genervt reagieren, wenn man z. B. 1000 Anfragen pro Sekunde macht. Das wirkt dann wie ein Hackerangriff, daher bearbeiten wir mit diesem Methode, dass immer wenn > 1,0 Anfragen vorhanden ist, dieser Token (also von 100 Wertpapieren, dass Wertpapier X) die Freigabe erhält und dann an den Kurslieferanten die Anfrage stellt.

Ich hoffe ich konnte das so erklären, dass man es versteht. :stuck_out_tongue_winking_eye:

Gruß
Alex

3 Likes