Как передать аргумент / параметр в дочерний TaskSet и как запустить другой TaskSet в одной функции задачи? - PullRequest
0 голосов
/ 02 мая 2020

Мы хотим смоделировать пользователей, читающих форумы. Таким образом, мы хотим -

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!!!

Вопросы:

  1. Как передать параметры в дочерний набор задач?
  2. Как запустить другой набор задач в методе @task?

ps Кажется, есть один способ, используя self.parent.whatever_variable, но я бы предпочел более Pythoni c & OOP решение, такое как передача некоторых параметров в конструкторе.

1 Ответ

0 голосов
/ 04 мая 2020

Ничто не мешает одной задаче выполнять несколько запросов. Просто поместите все в одну задачу (опционально поместив self.client.get('/forums/'+forum_id+'/'+post_id) в al oop, если вы хотите сделать это несколько раз)

Или поместите его в отдельный метод в том же классе (который вы затем вызов из метода main / ReadForums) и просто не помечайте его @task (и используйте переменные экземпляра или параметры метода для передачи таких вещей, как forum_id)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...