-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Use random.choices
when selecting a task instead of random.choice
#2651
Comments
random.choices
when selecting a task instead of random.choice
random.choices
when selecting a task instead of random.choice
Sounds great! Looking forward to your PR! |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
@bakhtos Any chance you’ll have time to take a look? |
@cyberw Yes I actually finally got around to working on this two days ago! |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
This issue was closed because it has been stalled for 10 days with no activity. This does not necessarily mean that the issue is bad, but it most likely means that nobody is willing to take the time to fix it. If you have found Locust useful, then consider contributing a fix yourself! |
Prerequisites
Description
According to current implementation/documentation, if weights are given to tasks, tasks are stored in the list duplicated by the amount given as weight, and then the task is selected from the list by using Python's
random.choice
.This, however, has two shortcomings:
It should be fairly easy to rewrite the
gen_tasks_from_base_classes
function and how it's output is handled inTaskSet
class to store the weights separately and pass them together with the list of tasks torandom.choices
ingen_next_task
.This will allow to store arbitrarily large weights without duplicating tasks in integer or float as well as potentially enable the functionality to modify task weights at runtime by modifying the list storing the weights.
I could try to implement this with a PR if this change is desired.
The text was updated successfully, but these errors were encountered: