Comments (9)
hmm, still getting the same error with 0.9.7
from uplink.
Hey, @returnnullptr - thanks for reporting! I think you caught something deeper. #258 should fix this.
from uplink.
This also seems to have broken my app. I find that objects I await return a co-routine object and have to be awaited again....
from uplink.
Hey, @HarvsG - Got it. The fix will be part of v0.9.7, which I'll be releasing this week. ETA is by March 11th
from uplink.
Great, my app actually targets uplink 0.9.4 but is is used within Homeassisstant which seems to be forcing it to use a newer version with the bug.
Edit: In the meantime I have fixed the issue by ssh-ing into my machine, then running pip install uplink==0.9.5
in the relevant container.
from uplink.
v0.9.7 is live now and includes the fix for this issue
from uplink.
@HarvsG - Interesting.. I might have missed something, or you might be running into a similar issue with a different cause. Could you check out this test case and let me know if it captures your usage? (i.e., invoking a method wrapped by response handler with an async http client)
from uplink.
This might be a different issue altogether, in which case I can file a separate ticket, but we've found a similar issue with the usage of the aiohttp client and uplink >= 0.9.6.
In our system, we enqueue many (tens of thousands) requests, and execute them with a concurrency of, say, 100. For example:
client = AiohttpClient(aiohttp.ClientSession(connector=aiohttp.TCPConnector(limit=100),
timeout=aiohttp.ClientTimeout(total=600)))
In short, we've noticed that when using an aiohttp client in conjunction with the @retry
decorator, after the first retry event, performance slows to a trickle (multiple minutes between requests), and eventually seemingly stops.
We've added logging and found that these retried requests don't spend that time waiting for a connection or anything; once the on_request_start
event is fired for the retried request, they immediately get a connection and execute the request, it just takes them forever to get requeued and for the on_request_start
event to fire.
When using the aiohttp client with uplink 0.9.5, the retry logic works as expected and is fully performant even in the case of occasional retries due to server/network errors.
I'm not sure if this is any relation to the response_handler callback issue mentioned here, but the timing and relation to aiohttp made us think this could be related.
from uplink.
Related Issues (20)
- returns.json decorator results in "Too many open files" error with AiohttpClient
- Support Union type as response model HOT 2
- Uplink crashes on python3.9 when trying to serialize pydantic model HOT 6
- @retry should respect 429 `Retry-After` headers HOT 2
- Investigate PEP 563 impact on library HOT 2
- Consider migrating Travis CI builds to GitHub actions
- Minimum required version of "six" package doesn't work HOT 3
- Cannot add multiple files with the same name within multipart request HOT 2
- send Nested object HOT 1
- Is it possible to not follow a redirect (with a allow_redirects=False ?!)
- Optional Field args don't work as expected
- Asyncio binary response is being decoded forcefully
- Stream requests HOT 2
- Error parsing enum value on query HOT 1
- Order of method decorators is not arbitrary
- Query params are being encoded too early so cannot be effectively mocked HOT 1
- Type hinting Optional parameters with the Field annotation
- "type" Argument not working on "Query" objects
- Pydantic v2 is not supported HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uplink.