Я работаю над программой на Python, которая использует multiprocessing.Pool для ускорения вычислений.
Данные считываются и загружаются в ресурсы хранилища Azure. Учетные данные извлекаются из конфигурации, созданной заранее при запуске az login.
Все запускаются в образе Docker с использованием Ubuntu, поэтому система POSIX .
Программа работает, но иногда зависает на некоторых данных. Я провел исследование и обнаружил, что это, вероятно, связано с проблемой взаимоблокировки из стратегии fork при создании экземпляра процесса (см. здесь: https://pythonspeed.com/articles/python ... rocessing/)
Поэтому я переключился на метод spawn (примечание: я также попробовал forkserver и получил ту же проблему), и соответствующий раздел моего код выглядит так :
Код: Выделить всё
import multiprocessing as mp
with mp.get_context("spawn").Pool() as pool:
for batch_result in pool.imap(self.thread_apply, point_batches):
results.extend(batch_result)
Но затем, пробуя эту новую настройку, после того, как мои процессы сгенерированы в пуле, я получаю ошибки аутентификации:
Код: Выделить всё
azure.core.exceptions.ClientAuthenticationError: DefaultAzureCredential failed to retrieve a token from the included credentials.
Attempted credentials:
EnvironmentCredential: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.
Visit https://aka.ms/azsdk/python/identity/environmentcredential/troubleshoot to troubleshoot this issue.
ManagedIdentityCredential: ManagedIdentityCredential authentication unavailable, no response from the IMDS endpoint.
SharedTokenCacheCredential: SharedTokenCacheCredential authentication unavailable. No accounts were found in the cache.
AzureCliCredential: Failed to invoke the Azure CLI
AzurePowerShellCredential: PowerShell is not installed
AzureDeveloperCliCredential: Azure Developer CLI could not be found. Please visit https://aka.ms/azure-dev for installation instructions and then,once installed, authenticate to your Azure account using 'azd auth login'.
To mitigate this issue, please refer to the troubleshooting guidelines here at https://aka.ms/azsdk/python/identity/defaultazurecredential/troubleshoot.
Спасибо за помощь
Подробнее здесь: https://stackoverflow.com/questions/793 ... ssing-pool
Мобильная версия