【问题标题】:Locust method for some setup before each task在每个任务之前进行一些设置的蝗虫方法
【发布时间】:2020-07-29 13:41:41
【问题描述】:

Locust 中是否有某种方法(理想情况下适用于 User 类)或事件或其他方式在每个任务之前执行一些设置代码?


我所调查的:

  • 有一些有用的事件,不幸的是没有像on_task_start
  • 有一些有用的方法,例如test_start,但不幸的是没有像task_start 这样的方法
  • 我可以在 User 类上使用 wait_time() 方法,但这是一个丑陋的解决方法,并且在每个 User 实例的第一个任务之前不会调用该方法。

【问题讨论】:

    标签: python performance-testing locust


    【解决方案1】:

    您可以向 locust 添加自定义事件,请参阅: https://docs.locust.io/en/stable/api.html#EventHook%20class

    更新:

    class DbTaskSet(TaskSet):
        def __init__(self, parent):
            super().__init__(parent)
    
        def execute_next_task(self):
            myevent.fire()
            super().execute_next_task()
    

    【讨论】:

    • 感谢@Muhammeed Tanir (+1),它为我提供了实现自定义事件的课程。但是,我仍然不知道在哪里找到代码(在这种情况下,event.fire() 在每个任务执行之前触发事件。
    • 一种快速的解决方法是在您编写的任务中触发事件,但我认为覆盖 task.py 下的 execute_task 方法会更好。更新了答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多