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

User and Sequential load strategies #3

Merged
merged 5 commits into from
Aug 7, 2024

Conversation

paulirwin
Copy link
Member

This adds three new load strategies:

  • SequentialLoadStrategy as an aggregate load strategy that executes multiple strategies in order
  • ConstantUserLoadStrategy to attempt to hold a constant load based on how many existing tasks are still running
  • SteppedUserLoadStrategy to attempt to hold a constant load at each step up or down

This also renames OneShot and Repeat user strategies to have Burst in their name, to better align with SteppedBurstLoadStrategy. This PR essentially creates three classes of strategies:

  • Burst strategies enqueue a burst of tasks each iteration, regardless of how many are still running
  • User strategies enqueue the delta number of tasks between the expected count at that iteration and the amount still running, to attempt to achieve an expected number of concurrent "users"
  • and Meta strategies, like SequentialLoadStrategy, are a strategy-of-strategies.

@paulirwin paulirwin requested a review from jamesmblair August 7, 2024 21:32
@jamesmblair jamesmblair merged commit 21bc9be into main Aug 7, 2024
@paulirwin paulirwin deleted the feature/user-load-strategies branch August 8, 2024 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants