-
Notifications
You must be signed in to change notification settings - Fork 664
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
Handle RPC calls in parallel #643
Labels
Comments
townsend2010
pushed a commit
that referenced
this issue
Mar 14, 2019
This will allow the daemon to spawn off long running operations and then service any new operations requested by the RPC. Fixes #643
townsend2010
pushed a commit
that referenced
this issue
Mar 25, 2019
This will allow the daemon to spawn off long running operations and then service any new operations requested by the RPC. Fixes #643
townsend2010
pushed a commit
that referenced
this issue
Apr 2, 2019
This will allow the daemon to spawn off long running operations and then service any new operations requested by the RPC. Fixes #643
bors bot
added a commit
that referenced
this issue
Apr 5, 2019
682: Daemon concurrent rpc operations r=ricab,gerboland a=townsend2010 Initial framework for making the daemon much more concurrent in how it handles rpc calls and the associated operations. Also with this, the check for detecting if ssh is up in the instance is now asynchronous. Fixes #643 Co-authored-by: Chris Townsend <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
We currently handle all RPC calls sequentially, meaning you have to wait for every long-running operation to complete before another one can be handled.
We need to decouple the RPC thread from the daemon thread and execute any long-running operations in separate threads again so the daemon is always responsive.
Plan of record is to peruse Qt's event loop, with the RPC thread posting events on the daemon's loop, which would handle them as appropriate - internally or via whatever mode of concurrency makes sense for the operation in question.
The text was updated successfully, but these errors were encountered: