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

Pluggable event loop task scheduler #8164

Open
trustin opened this issue Aug 1, 2018 · 6 comments
Open

Pluggable event loop task scheduler #8164

trustin opened this issue Aug 1, 2018 · 6 comments
Labels

Comments

@trustin
Copy link
Member

trustin commented Aug 1, 2018

Netty currently only provides a priority queue based task scheduler. We could add a small abstraction layer between EventExecutor and a task scheduler implementation so that a user can choose his or her favorite scheduler algorithm, most notably, hashed wheel timer, which is more scalable.

(Inspired by an e-mail question by Mac Atre.)

@trustin trustin added the feature label Aug 1, 2018
@azhsmesos
Copy link

Do you have any proposal? I want to know how to realize it

@normanmaurer
Copy link
Member

there is no proposal

@trustin
Copy link
Member Author

trustin commented Jan 29, 2023

Basic idea is to allow a user choose between priority queue and hashed wheel timer for scheduled tasks. The latter would be desirable for very busy event loop with lots of timeout-like tasks. That being said, it doesn't really need to be an abstraction layer although that'd be nice to have.

@injae-kim
Copy link

  1. Basic idea is to allow a user choose between priority queue and hashed wheel timer for scheduled tasks
  2. it doesn't really need to be an abstraction layer although that'd be nice to have.

Can I handle this issue? I'll make PR based on above proposal~! 🙇

@He-Pin
Copy link
Contributor

He-Pin commented Aug 9, 2023

@injae-kim Cool, I will review it:) I need this too.

@injae-kim
Copy link

#13552

Cause this is my first PR on netty, I made simple DRAFT PR to check my direction is correct! PTAL 🙇

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

No branches or pull requests

5 participants