-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
✨Add implementation for JavaScript + Effection #73
base: main
Are you sure you want to change the base?
Conversation
Nice timing! I'm just getting a vanilla JS client working: Thanks for contributing this as I've wanted to get some TS clients in here! Any ideas on what is going wrong with scenario 3? Also, let's get the GitHub Action going with Testcontainers. You can reference my new JS client for how to do it. |
@jamesward fantastic! I'm not sure what's going on with Scenario 3 other than it seems to be thrashing memory quite a bit. I've filed an issue on the deno repository to see if the Deno team has any ideas. In the meanwhile, I'll see how it runs on NodeJS. In any case, I'll get the GithubAction going. |
49ea74c
to
106ad58
Compare
@jamesward I've updated it to work both on Node and Deno, and I'm seeing the same sort of behavior on Node.JS. It makes me wonder if it's something to do with my operating system or not. I've noticed that if I use |
Hmm... by following this answer https://stackoverflow.com/questions/55366733/increasing-limit-of-outgoing-tcp-connections-on-macos I can consistently get it approaching 10,000 requests every time, but it's still stalling out short. |
I tried both Rust Futures and Tokio, and it was as smooth as butter, so it's definitely JS related. |
I'll give it a try on my Linux machine and report back. |
I ran this on Linux and it did make the 10k requests but failed the test for scenario 3 and then scenario 4:
I ran into some maybe similar issues with the javascript-stdlib one due to the close on fetch cancel taking a while, causing the fetch for the timeout'd request in 4 to timeout before the connection is made. Notes: Ultimately I was able to get it working there with some tricks. |
@jamesward This is very interesting! By using In the mean time, I'll try and get CI working with |
This is a JavaScript implementation using Effection Structured Concurrency Framework v3 Alpha running on Deno.
It currently stalls out on scenario three at about ~9500 concurrent requests.