如何将 argument/parameter 传递给子任务集以及如何在一个任务函数中启动另一个任务集?
How to pass argument/parameter into a child TaskSet & How to start another TaskSet within one task function?
我们想模拟用户阅读论坛。因此我们想要 -
class ReadPostsInOneForum(TaskSet):
@task
def read(self):
forum_id = (want to get it from parent) # TODO HERE!!!
post_id = _get_random_int()
self.client.get('/forums/'+forum_id+'/'+post_id)
class ReadForums(TaskSet):
@task
def read(self):
forum_id = _get_some_values()
start_task_set(ReadPostsInOneForum, forum_id=forum_id) # TODO HERE!!!
问题:
- 如何将参数传递给子任务集?
- 如何在@task 方法中启动另一个任务集?
p.s。似乎有一种方法,通过使用 self.parent.whatever_variable
,但我更喜欢更 Pythonic 和 OOP 的解决方案,例如在构造函数中传递一些参数。
没有什么可以阻止单个任务发出多个请求。只需将所有内容放在一个任务中(如果您想多次执行,可以选择将 self.client.get('/forums/'+forum_id+'/'+post_id)
放入循环中)
或者将它放在同一个 class 中的单独方法中(然后从 main/ReadForums 方法中调用),只是不要用 @task 标记它(并使用实例变量或传递 forum_id)
之类的方法参数
我们想模拟用户阅读论坛。因此我们想要 -
class ReadPostsInOneForum(TaskSet):
@task
def read(self):
forum_id = (want to get it from parent) # TODO HERE!!!
post_id = _get_random_int()
self.client.get('/forums/'+forum_id+'/'+post_id)
class ReadForums(TaskSet):
@task
def read(self):
forum_id = _get_some_values()
start_task_set(ReadPostsInOneForum, forum_id=forum_id) # TODO HERE!!!
问题:
- 如何将参数传递给子任务集?
- 如何在@task 方法中启动另一个任务集?
p.s。似乎有一种方法,通过使用 self.parent.whatever_variable
,但我更喜欢更 Pythonic 和 OOP 的解决方案,例如在构造函数中传递一些参数。
没有什么可以阻止单个任务发出多个请求。只需将所有内容放在一个任务中(如果您想多次执行,可以选择将 self.client.get('/forums/'+forum_id+'/'+post_id)
放入循环中)
或者将它放在同一个 class 中的单独方法中(然后从 main/ReadForums 方法中调用),只是不要用 @task 标记它(并使用实例变量或传递 forum_id)
之类的方法参数