У меня есть функция, которая анализирует документы в коллекции MongoDB. Я хотел бы установить тайм-аут для каждого потока, потому что я не знаю, займет ли function2
слишком много времени, чтобы завершить sh. Я пробовал настроить @timeout_decorator.timeout(60, use_signals=False)
, но, видимо, не работает.
Рассматриваются и лучшие альтернативы. Любое предложение приветствуется!
def function(collection):
with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
for document in collection.find({}, no_cursor_timeout=True):
executor.submit(function2, document)
def function2(collection, document):
try:
... something ...