-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Labels
good first issueGood for newcomersGood for newcomers
Description
Description
Currently, Rage's fiber scheduler doesn't support manual timeouts. The reference implementation is both slow and consumes too much memory, and thus, it has been commented out.
Instead, the new implementation should work in two steps:
- The
timeout_aftermethod stores the information about the timeout in a hash, calls the block and removes the info from the hash. - A separate worker monitors the hash at specific intervals and raises exceptions in timed out fibers.
Tips
- Check Timeout API docs and Fiber::Scheduler#timeout_after docs.
- The two-step process suggested here is used quite ofter in Rage - example 1, example 2.
- Check the architecture doc that shows how Rage's core components interact with each other and outlines the design principles.
- Feel free to ask any questions or request help in the comments below!
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomers