@vante_scribaxxi

Как на питоне реализовать выполнение задач?

В общем, есть такой класс:
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)
Как вариант, я вижу запуск отдельного потока который в цикле выполняет каждый таск, а в конце каждого круга проверяет значения каки-то переменных чтобы изменить свое поведение.
Как сделать это наиболее красивым способом? Можно это реализовать более простым способом?
  • Вопрос задан
  • 160 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы