Не удалось обновить словарь Python во время многопроцессорной обработки [дубликат] ⇐ Python
Не удалось обновить словарь Python во время многопроцессорной обработки [дубликат]
Я в некоторой растерянности. Мои навыки Python немного устарели, но я пытаюсь параллельно обрабатывать словарь Python и обновлять словарь ответом. Словарь в настоящее время определен в скрипте и вызывает функцию, которая принимает «конечную точку» и обновляет ее с помощью «ответа». В настоящее время в вызываемой функции многопроцессорной обработки я вижу обновленный результат при печати словаря, но он не сохраняется при вызове словаря в основной функции.
Где я ошибаюсь?
из диспетчера многопроцессорного импорта, пул время импорта из случайного импорта randint # Функция API. На данный момент возвращает случайное число. защита APIResponse(x): print("Обработка {}".format(x)) СлучайныйЦелый = randint(1, 10) time.sleep(randomInteger) print("Завершено {}".format(x)) # APIEndpoints[x]["response"] = str(randomInteger) APIEndpoints[x].update({"ответ": str(randomInteger)}) # Ниже возвращается правильный обновленный словарь печать(APIEEndpoints[x]) возвращаться если __name__ == '__main__': APIEndpoints = { "базовый": { "конечная точка": "api_endpoint_basic", "ответ": "" }, "адрес": { "конечная точка": "api_endpoint_address", "ответ": "" }, "возраст": { "конечная точка": "api_endpoint_age", "ответ": "" }, "зарплата": { "endpoint": "api_endpoint_salary", "ответ": "" } } # Настраиваем пулы p = Пул(процессы=len(APIEEndpoints)) # Обрабатываем пулы параллельно p.map(APIResponse, APIEndpoints) # Распечатать вывод словаря печать (APIEndpoints) Я ожидаю, что переменная APIEndpoints будет иметь обновленный ответ в конце скрипта, но в настоящее время она показывает обновление только с помощью функции Ответ API
Спасибо за любую помощь.
Я в некоторой растерянности. Мои навыки Python немного устарели, но я пытаюсь параллельно обрабатывать словарь Python и обновлять словарь ответом. Словарь в настоящее время определен в скрипте и вызывает функцию, которая принимает «конечную точку» и обновляет ее с помощью «ответа». В настоящее время в вызываемой функции многопроцессорной обработки я вижу обновленный результат при печати словаря, но он не сохраняется при вызове словаря в основной функции.
Где я ошибаюсь?
из диспетчера многопроцессорного импорта, пул время импорта из случайного импорта randint # Функция API. На данный момент возвращает случайное число. защита APIResponse(x): print("Обработка {}".format(x)) СлучайныйЦелый = randint(1, 10) time.sleep(randomInteger) print("Завершено {}".format(x)) # APIEndpoints[x]["response"] = str(randomInteger) APIEndpoints[x].update({"ответ": str(randomInteger)}) # Ниже возвращается правильный обновленный словарь печать(APIEEndpoints[x]) возвращаться если __name__ == '__main__': APIEndpoints = { "базовый": { "конечная точка": "api_endpoint_basic", "ответ": "" }, "адрес": { "конечная точка": "api_endpoint_address", "ответ": "" }, "возраст": { "конечная точка": "api_endpoint_age", "ответ": "" }, "зарплата": { "endpoint": "api_endpoint_salary", "ответ": "" } } # Настраиваем пулы p = Пул(процессы=len(APIEEndpoints)) # Обрабатываем пулы параллельно p.map(APIResponse, APIEndpoints) # Распечатать вывод словаря печать (APIEndpoints) Я ожидаю, что переменная APIEndpoints будет иметь обновленный ответ в конце скрипта, но в настоящее время она показывает обновление только с помощью функции Ответ API
Спасибо за любую помощь.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка перезагрузки многопроцессорной обработки распознавания речи Vosk
Anonymous » » в форуме Python - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-