Я пытался следовать этому решению, но оно у меня не работает. Я подозреваю, что это не работает, потому что я работаю с несколькими файлами. Конкретная ошибка, которую я получаю: NameError: имя «блокировка» не определено.
Настоящим упрощение моего кода:
main.py< /p>
Код: Выделить всё
import file2
def evaluate_entry_of_list(entry):
response = file2.get_data(entry)
# some calculations
return results
def init_pool(given_lock):
global lock
lock = given_lock
if __name__ == '__main__':
list = apicaller.get_list()
t_lock = Lock()
with Pool(8, initializer=init_pool, initargs=(t_lock,)) as pool:
results = pool.map(evaluate_entry_of_list, list)
process_results(results)
Код: Выделить всё
def make_call(url, body)-> requests.Response:
lock.acquire()
# Make API call
lock.release()
return response
Подробнее здесь: https://stackoverflow.com/questions/789 ... other-file