locust - 使用@tag 禁用/启用任务时的空闲用户
问题描述
我有 2 个用户,每个用户都分配了一组特定的任务集。当我使用 --tag 选项运行 locust 并且只选择了 1 个任务集时,第二个用户将没有任何任务要运行。它会引发错误Exception: No tasks defined on AdminUser...
请参阅下面的示例代码:
@tag('AdminPage1')
class AdminPage1(SequentialTaskSet):
@task
def admin_task1(self):
...
...
@tag('UserPage1')
class UserPage1(SequentialTaskSet):
@task
def admin_task1(self):
...
...
class AdminUser(HttpUser):
tasks = [AdminPage1]
class EndUser(HttpUser):
tasks = [UserPage1]
$ locust --users 2 --tag UserPage1
我应该以另一种方式使用标签功能吗?我需要的是能够选择在执行时执行哪些任务。我可以看到消除错误的一种方法是对所有任务集仅使用 1 个用户类。
解决方案
当 locust 检测到在 Locust User 类中没有定义任务属性时会引发该错误,但在这种情况下,我认为这是因为 TaskSet 标签被命令行参数上指定的标签过滤,也没有检查是否存在没有可用于用户和任务集的标签
从我的 PoV 来看,这是一个错误,如果您在https://github.com/locustio/locust/issues报告它会更好
推荐阅读
- python - Pyspark是否默认缓存数据帧?
- javascript - 共享页面代码是用 jquery 制作的,但在 webview 中不起作用
- embedded - MPU6050s DMP初始化数据是什么意思?
- node.js - 未能正确使用电子打包程序进行代码设计或通过 npm 为基于 Electron 的 macOS 应用程序注入 plist 项目
- javascript - Eslint 强制消耗返回值
- plot - mne.viz.plot_topomap 的颜色条?Python
- reactjs - React 网络摄像头设置超时
- python-3.x - Python Authlib 是否支持解码 AWS Cognito 访问/ID 令牌?
- mysql - 计算一段时间内的俱乐部会员数据(新的、过去的和当前的)
- hex - 计算 shellcode 中的字节数