Skip to content
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

Is bottleneck still maintained? #207

Open
0xdevalias opened this issue Dec 7, 2022 · 11 comments
Open

Is bottleneck still maintained? #207

0xdevalias opened this issue Dec 7, 2022 · 11 comments

Comments

@0xdevalias
Copy link

0xdevalias commented Dec 7, 2022

I see that the last version (2.19.5) was released back in 2019, and the last commit in this repo (b835283) seems to be from 2020, which presumably means it hasn't even been released.

Looking at the npm package, it seems there have been 1,847,251 downloads in the last week, which implies there is still a lot of code out there using the package:

Is it just that the code in this repo is stable/feature complete/doesn't need any updates, or?

And if this isn't maintained, what alternatives are people using these days? I've done some research a couple of times and this still seems to come back as the best option.

cc // @SGrondin


Edit:

A few potential alternatives that I found/others have suggested:

@hernangarzondelaroza
Copy link

Hello! Did you get any more insights about this topic? I'm on the same page than you :)

@olemartin
Copy link

Seems like this library does the same and is better maintained: https://www.npmjs.com/package/p-limit

@0xdevalias
Copy link
Author

Seems like this library does the same

Reading the description of it, it definitely doesn't do the same things that bottleneck does.

@olemartin
Copy link

It limits the number of concurrent requests

@0xdevalias
Copy link
Author

It limits the number of concurrent requests

In a VERY simply and naive way. It's basically equivalent to Bottleneck's maxConcurrent parameter, but seemingly no more than that. Bottleneck supports a LOT more features/functionality than just maxConcurrent:

@olemartin
Copy link

Ok, you might wanna check out https://github.com/sindresorhus/p-queue Don't know if it does everything you need though, personally I was only after maxConcurrent

@0xdevalias
Copy link
Author

you might wanna check out https://github.com/sindresorhus/p-queue

p-queue looks like by default it's also only really relevant for the maxConcurrent and maybe minTime modes.

The main benefits of bottleneck are the reservoir/related features, and how they work with 'token buckets' and similar.

It's possible that something like that might be able to be hacked together on top of p-queue's custom QueueClass; but failing that, I would say that it's also not really a contender for 'equivalent features' to bottleneck:

@ellioseven
Copy link

@0xdevalias The closest alternative I found is redis-smq which is a Redis backed queue that also implements a rate limiter.

@cerireyhan
Copy link

Batcher feature is also very useful. Does any of the libs shared above support similar thing?

@olexiyb
Copy link

olexiyb commented Apr 4, 2023

Another alternative node-redlock

@spone379
Copy link

spone379 commented May 5, 2024

For those looking for maxConcurrent and minTime functional => check out https://github.com/sindresorhus/p-throttle

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants