Pygithub: throttling/backoff pour la prise en charge des limites de débit pour PyGitHub

Créé le 3 oct. 2019  ·  4Commentaires  ·  Source: PyGithub/PyGithub

Il n'existe aucun moyen élégant d'implémenter la limitation des appels d'API github via PyGitHub. La meilleure façon que je puisse trouver pour m'assurer que mon application n'atteint pas les limites de limitation est de continuer à vérifier avant chaque appel et de maintenir un décompte du nombre d'appels effectués aux API, puis de vérifier en permanence si cette limite est atteinte ou pas - tout en actualisant périodiquement les limites de débit. Il n'est pas simple d'implémenter une classe wrapper ou d'appliquer des décorateurs/descripteurs aux appels car il existe différentes classes (comme GitHub, Repository, Releases, etc.) qui peuvent appeler le point de terminaison de l'API. Il semble que l'implémentation de cette fonctionnalité dans PyGitHub pour aider les appels de limitation/taux/attente serait la meilleure approche IMO, puisque chaque appel de l'API REST peut être suivi. Une telle fonctionnalité sera-t-elle encouragée ? Est-il judicieux de travailler sur une pull request ?

stale

Commentaire le plus utile

PyGithub est génial, merci beaucoup !

Existe-t-il un moyen pratique d'indiquer à PyGithub de ne pas lancer d'exception de limite de débit dépassée, mais de reculer et de réessayer l'opération ? Sinon, je dois le faire et boucler chacun de mes appels, ce qui est possible, mais me semble mal. C'est moi qui exécute alors une fonctionnalité de framework/bibliothèque qui correspondrait mieux au framework/bibliothèque réel, dans ce cas PyGithub, puis chaque utilisateur faisant de même dans son code.

Tous les 4 commentaires

n'importe qui?

Voir aussi #1233 pour les demandes excessives.

Ce problème a été automatiquement marqué comme obsolète, car il n'a pas eu d'activité récente. Il sera fermé s'il n'y a plus d'activité. Merci pour vos contributions.

PyGithub est génial, merci beaucoup !

Existe-t-il un moyen pratique d'indiquer à PyGithub de ne pas lancer d'exception de limite de débit dépassée, mais de reculer et de réessayer l'opération ? Sinon, je dois le faire et boucler chacun de mes appels, ce qui est possible, mais me semble mal. C'est moi qui exécute alors une fonctionnalité de framework/bibliothèque qui correspondrait mieux au framework/bibliothèque réel, dans ce cas PyGithub, puis chaque utilisateur faisant de même dans son code.

Cette page vous a été utile?
0 / 5 - 0 notes