Допустим, у меня есть функция, которая должна возвращать после запуска задач в пул, что-то вроде (просто пример):
def launch_tasks(num_tasks, args):
futures = []
for x in range(num_tasks):
futures.append(pool.submit(my_func, args))
print("Launched.")
Функция my_func()
запишет свой вывод в файл, поэтому мне не нужно постоянно проверять его возвращаемое значение. Тем не менее, я хочу отменить его выполнение, если определенное время ожидания выполнено. Есть ли способ заставить эту обработку завершиться sh после заданного времени ожидания в python? Если да, могу ли я сделать функцию обратного вызова по тайм-ауту?
Я на самом деле разрабатываю приложение Flask
, поэтому я действительно не хочу, чтобы на него накладывался код, который блокировал бы выполнение (например, ожидание as_complete(timetout)
), потому что я хочу вернуть что-то вызывающему запросу вместо того, чтобы заставлять его ждать, пока выполнение не завершится.
Я думал о запуске потока, который запустит другой, и затем ожидании as_complete(timeout)
, но это, кажется, не лучший подход к этому.