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

Improve playbook runner speed #1235

Open
adityathebe opened this issue Aug 5, 2024 · 1 comment · May be fixed by #1374
Open

Improve playbook runner speed #1235

adityathebe opened this issue Aug 5, 2024 · 1 comment · May be fixed by #1374
Assignees
Labels
Milestone

Comments

@adityathebe
Copy link
Member

At the moment, runners poll for playbook actions @every 1m. Once it runs it, the result is then pushed @every 15s.

Due to this, it takes at few minutes to complete a simple playbook with one action.
With more actions, time to complete increases linearly.

Proposed solutions

  1. Long polling

Runners shouldn't run on a schedule. Rather they should be continuously polling for actions in a never ending for loop.

  1. Stateful connection

Somehow maintain a stateful TCP connection between the upstream and the runner.
Runners "subscribe" to upstream on startup and upstream "publishes" to the connection whenever a new action for that agent is inserted to db.

@moshloop moshloop added this to the v1.0.0 milestone Aug 14, 2024
@moshloop
Copy link
Member

moshloop commented Sep 2, 2024

Implement HTTP/2 long polling for maximum portability + channels to incrementally push playbook action / artifacts /

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

Successfully merging a pull request may close this issue.

2 participants