this post was submitted on 16 Jan 2025
14 points (88.9% liked)
Rust
6226 readers
28 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I don't know Rust, I'm just here to chill. I can tell you what I would do, and have done, in PowerShell to solve this. From there you can translate that to Rust.
Let's go with your limit of 200 requests per second. At the start of the script, I create a stopwatch. Literally, a stopwatch that's tied to real world time and can be reset. Then, I have a variable that counts my requests. Every time I make a request, I increment it. Before every request, I check if the variable is 200. If it is, check the timer to see if a second has passed. If not, calculate how much time is left until a second has passed and sleep for that amount of time. After doing that check/sleep, reset the request counter and the stopwatch. From there, continue on.