You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description of the problem, including code/CLI snippet
all the requests done in this module are syncronous. to use it more efficiently all requests should be converted to https://aiohttp.readthedocs.io/en/stable/ to make them concurrent
Expected Behavior
posibility for concurrent requests
Actual Behavior
only syncronus requests
Specifications
python-gitlab version:
API version you are using (v3/v4):
Gitlab server version (or gitlab.com):
Reacted by Claas de Boer, Stéphane Klein, Baptiste Darthenay, TECHNOFAB, darkdragon-001, Anton Akhmerov and a5ter0id
The issue with async behavior is how to handle rate limiting. Just throwing bunch of requests into async queue can be tricky. You need some throttling.
how should the migration be implemented? if we just change all methods to async current users will have to change there code but if we create our own event loop other async programs can't take full advantage of the async features.
should we create a event loop in the gitlab object which could be handed to it from the init?
Let's track progress on this in #1025 if that's ok with you, as it has things fleshed out a bit more and httpx is the most requests-compatible alternative, maybe upvote there or otherwise let us know here if this should be reopened.
Activity
[-]migrate to asyncioo[/-][+]migrate to asyncio[/+]max-wittig commentedon Nov 22, 2019
Or httpx
I would be open to review any MR regarding this topic.
mitar commentedon Dec 13, 2019
The issue with async behavior is how to handle rate limiting. Just throwing bunch of requests into async queue can be tricky. You need some throttling.
L0ric0 commentedon Jan 20, 2020
how should the migration be implemented? if we just change all methods to async current users will have to change there code but if we create our own event loop other async programs can't take full advantage of the async features.
should we create a event loop in the gitlab object which could be handed to it from the init?
nejch commentedon May 30, 2021
Let's track progress on this in #1025 if that's ok with you, as it has things fleshed out a bit more and httpx is the most requests-compatible alternative, maybe upvote there or otherwise let us know here if this should be reopened.
For rate limits, most likely something like https://github.com/florimondmanca/aiometer/ would help (also by httpx devs).