Я пытаюсь вызвать функцию случайным образом из списка функций.Когда функция вызывается, я хочу начать новый поток.
Мой код выглядит следующим образом:
jobs = [func1, func2, func3, func4]
def run_threaded(job_func):
info("Number of active threads: " + str(threading.active_count()))
info("Threads list length: " + str(len(threading.enumerate())))
job_thread = threading.Thread(target=job_func)
job_thread.start()
job_thread.join()
Когда я вызываю функцию без скобок, то одна и та же функция вызывается снова и снова каждую минуту.т.е.
schedule.every(1).minutes.do(run_threaded, random.choice(jobs))
Когда я вызываю функцию с лишними скобками, т.е.
schedule.every(1).minutes.do(run_threaded, random.choice(jobs)())
Я получаю следующую ошибку:
Exception in thread Thread-7:
Traceback (most recent call last):
File "C:\Users\(USER)\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:\Users\(USER)\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
TypeError: 'bool' object is not callable
Ожидает ли она что-то какпарам?Должен ли я переопределить метод run () в подклассе?