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

Handle RPC calls in parallel #643

Closed
Saviq opened this issue Feb 28, 2019 · 0 comments
Closed

Handle RPC calls in parallel #643

Saviq opened this issue Feb 28, 2019 · 0 comments
Assignees

Comments

@Saviq
Copy link
Collaborator

Saviq commented Feb 28, 2019

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.

@townsend2010 townsend2010 self-assigned this Mar 5, 2019
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
Projects
None yet
Development

No branches or pull requests

2 participants