<How to implement a ratelimit across mutiple corou...
# stackoverflow
u
How to implement a ratelimit across mutiple coroutines efficently? So let's say I have a bunch of couroutines running that interact with some webservice and since I don't want to spam it I wanna limit the requests to 1 request every x seconds max. For that I could use some code like this: fun CoroutineScope.rateLimiter(tokens: SendChannel, rate: Int) = launch { var lastToken = System.currentTimeMillis() while (isActive) { val currentTime = System.currentTimeMillis() if (currentTime - lastToken < rate) { delay(currentTime...