как остановить саранчу, когда определенное количество пользователей создается с параметром командной строки -i?

avatar
alok kumar
8 августа 2021 в 19:00
151
1
0
from locust import SequentialTaskSet, HttpUser, constant, task
import locust_plugins

class MySeqTask(SequentialTaskSet):
    
    @task
    def get_status(self):
        self.client.get("/200")
        print("Status of 200")

    @task
    def get_100_status(self):
        self.client.get("/100")
        print("Status of 100")

class MyLoadTest(HttpUser):

    host = "https://http.cat"
    tasks = [MySeqTask]
    wait_time = constant(1)
Источник

Ответы (1)

avatar
Solowalker
15 августа 2021 в 14:28
2

Примеры параметров командной строки locust-plugins можно найти здесь:

https://github.com/SvenskaSpel/locust-plugins/blob/master/examples/cmd_line_examples.sh

locust -u 5 -t 60 --headless -i 10
# Stop locust after 10 task iterations (this is an upper bound, so you can be sure no more than 10 of iterations will be done)
# Note that in a distributed run the parameter needs to be set on the workers, it is (currently) not distributed from master to worker.

Вы запустите свой файл саранчи так же, как обычно, но добавите -i к каждому запускаемому вами воркеру. Мне кажется, что, поскольку это на одного рабочего, вам нужно предварительно рассчитать, сколько вы хотите, чтобы каждый рабочий работал. Поэтому, если у вас есть 10 рабочих процессов и вы хотите остановиться после 10 000 итераций задачи, вы, вероятно, выполните -i 1000 для каждого рабочего процесса.