為TaskSet聲明任務的典型方法是使用task裝飾器。該min_wait和MAX_WAIT屬性也可以在使用taskset類中重寫。
from locust import Locust, TaskSet, task
class MyTaskSet(TaskSet):
min_wait = 5000
max_wait = 15000
@task(1)
def my_taskone(self):
print("executing my_task one")
@task(3)
def my_tasktwo(self):
print("executing my_task tow")
'''
使用以下locustfile,每個用戶將在任務之間等待5到15秒:
'''
class MyLocust(Locust):
task_set = MyTaskSet
使用@task裝飾器來聲明任務是一種方便,通常是最好的方法。但是,也可以通過設置tasks屬性來定義TaskSet的任務 (使用@task裝飾器實際上只會填充tasks屬性)。
from locust import Locust, TaskSet, task
def my_taskone(l):
print("executing my_task one")
def my_tasktwo(l):
print("executing my_task tow")
'''
my_task執行的可能性是another_task的 3倍。
'''
class MyTaskSet(TaskSet):
tasks = {my_taskone: 3, my_tasktwo: 1}
'''
使用以下locustfile,每個用戶將在任務之間等待5到15秒:
'''
class MyLocust(Locust):
task_set = MyTaskSet
min_wait = 5000
max_wait = 15000
