在TaskSet中也可以设置on_start, on_stop方法,目的是为了在执行TaskSet之前和之后需要做的操作。需要了解的知识点有两个:
父TaskSet on_start on_stop一般会各自执行1次。其中on_start会在场景开始时执行1次,on_stop会在场景执行结束后执行1次。
子TaskSet on_start on_stop执行次数和此TaskSet被触发次数一致。比如TaskSet触发10次,那么on_start/on_stop会各被执行10次。
具体可以参考以下代码:
from locust import task,between,TaskSet, User
class TaskSetP(TaskSet):
def on_start(self):
print("This is TaskSetP starting process.")
def on_stop(self):
print("This is TaskSetP stopping process.")
@task(2)
class TaskSetC1(TaskSet):
def on_start(self):
print("This is TaskSetC1 starting process.")
def on_stop(self):
print("this is TaskSetC1 stopping process.")
@task(2)
def TaskC_1(self):
print("This is TaskC_1")
@task(1)
def TaskC_2(self):
print("This is TaskC_2")
self.interrupt()
@task(1)
def logout(self):
print("This is logout task")
class MyUser(User):
wait_time = between(2,3)
tasks = [TaskSetP]
复制
locust file执行结果如下,可以发现:
TaskSetP starting process被执行了1次,stopping process也被执行了1次(是手动关闭场景执行触发的)。
TaskSetC1 starting/stopping process 执行次数和被选择执行的次数一致。
[2021-02-18 09:25:22,339] jasondeMacBook-Pro.local/INFO/locust.runners: All users hatched: MyUser: 1 (0 already running)
This is TaskSetP starting process.
This is TaskSetC1 starting process.
This is TaskC_2
this is TaskSetC1 stopping process.
This is TaskSetC1 starting process.
This is TaskC_2
this is TaskSetC1 stopping process.
This is TaskSetC1 starting process.
This is TaskC_1
This is TaskC_1
This is TaskC_2
this is TaskSetC1 stopping process.
This is logout task
This is TaskSetC1 starting process.
This is TaskC_2
this is TaskSetC1 stopping process.
This is TaskSetC1 starting process.
This is TaskC_1
This is TaskC_1
This is TaskC_2
this is TaskSetC1 stopping process.
This is logout task
This is logout task
This is logout task
This is TaskSetC1 starting process.
This is TaskC_1
This is TaskC_1
This is TaskC_1
This is TaskC_1
This is TaskC_2
this is TaskSetC1 stopping process.
This is logout task
This is TaskSetC1 starting process.
This is TaskC_2
this is TaskSetC1 stopping process.
This is logout task
This is logout task
This is TaskSetC1 starting process.
This is TaskC_2
this is TaskSetC1 stopping process.
This is TaskSetC1 starting process.
This is TaskC_1
This is TaskC_1
This is TaskC_1
This is TaskC_1
This is TaskC_2
this is TaskSetC1 stopping process.
This is TaskSetC1 starting process.
This is TaskC_1
This is TaskC_1
This is TaskC_2
this is TaskSetC1 stopping process.
This is TaskSetC1 starting process.
This is TaskC_1
This is TaskC_2
this is TaskSetC1 stopping process.
This is logout task
This is TaskSetC1 starting process.
This is TaskC_2
this is TaskSetC1 stopping process.
This is TaskSetC1 starting process.
This is TaskC_1
This is TaskC_1
This is TaskC_2
this is TaskSetC1 stopping process.
This is logout task
This is logout task
This is logout task
^CKeyboardInterrupt
2021-02-18T01:26:31Z
[2021-02-18 09:26:31,790] jasondeMacBook-Pro.local/INFO/locust.main: Running teardowns...
[2021-02-18 09:26:31,790] jasondeMacBook-Pro.local/INFO/locust.main: Shutting down (exit code 0), bye.
[2021-02-18 09:26:31,790] jasondeMacBook-Pro.local/INFO/locust.main: Cleaning up runner...
This is TaskSetP stopping process.
复制
文章转载自TimTest,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家观点】罗敏:从理论到真实SQL,感受DeepSeek如何做性能优化
墨天轮编辑部
1236次阅读
2025-03-06 16:45:38
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1216次阅读
2025-03-13 11:40:53
2025年2月国产数据库大事记
墨天轮编辑部
954次阅读
2025-03-05 12:27:34
2025年2月国产数据库中标情况一览:GoldenDB 3500+万!达梦近千万!
通讯员
846次阅读
2025-03-06 11:40:20
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
436次阅读
2025-03-13 14:38:19
AI的优化能力,取决于你问问题的能力!
潇湘秦
407次阅读
2025-03-11 11:18:22
优炫数据库成功应用于国家电投集团青海海南州新能源电厂!
优炫软件
335次阅读
2025-03-21 10:34:08
达梦数据与法本信息签署战略合作协议
达梦数据
280次阅读
2025-03-06 09:26:57
国产化+性能王炸!这套国产方案让 3.5T 数据 5 小时“无感搬家”
YMatrix
266次阅读
2025-03-13 09:51:26
IBM收购数据库厂商DataStax:瞄准向量和AI搜索
深度数据云
256次阅读
2025-02-28 12:04:04