В общем, есть такой класс:
class Client(object):
def start_work(self):pass
# Code...
def stop_work(self):pass
# Code...
def __init__(self, account, timeout = 1):
self.timeout = timeout
self.account = account
self.tasks = []# (object, fun, params)
self.browser = Browser()
def auth(self):
self.tasks.append((browser, get, '/profile/login'))
self.tasks.append((browser, send_keys, ('xpath', '', text=self.account['email'])))
self.tasks.append((browser, send_keys, ('xpath', '', text=self.account['password'])))
self.tasks.append((browser, click, ('xpath', '', text=self.account['login'])))
Необходимо постоянно выполнять задачи из self.tasks и удалять выполненные, при этом обязательно должна присутствовать возможность манипулирования этим процессом (поддерживание использования функций типа start_work и stop_work)
Как вариант, я вижу запуск отдельного потока который в цикле выполняет каждый таск, а в конце каждого круга проверяет значения каки-то переменных чтобы
изменить свое поведение.
Как сделать это наиболее красивым способом? Можно это реализовать более простым способом?