1
resposta

[Bug] alguém pode me ajudar com esse erro pfv

tive esse erro ao tentar rodar o serviço product

(venv) PS C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service> python .\app.py
Traceback (most recent call last):
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\app.py", line 2, in
from controllers.product_controller import product_bp
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\controllers\product_controller.py", line 11, in
initialize_products()
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\services\product_service.py", line 85, in initialize_products
if products_col.count_documents({}) == 0:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo\synchronous\collection.py", line 2163, in count_documents
return self._retryable_non_cursor_read(_cmd, session, _Op.COUNT)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo\synchronous\collection.py", line 2177, in _retryable_non_cursor_read
return client._retryable_read(func, self._read_preference_for(s), s, operation)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo\synchronous\mongo_client.py", line 2048, in _retryable_read
return self._retry_internal(
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo_csot.py", line 125, in csot_wrapper
return func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo\synchronous\mongo_client.py", line 2014, in _retry_internal
).run()
^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo\synchronous\mongo_client.py", line 2763, in run
return self._read() if self._is_read else self._write()
^^^^^^^^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo\synchronous\mongo_client.py", line 2908, in _read
self._server = self._get_server()
^^^^^^^^^^^^^^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo\synchronous\mongo_client.py", line 2856, in _get_server
return self._client._select_server(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo\synchronous\mongo_client.py", line 1833, in _select_server
server = topology.select_server(
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo\synchronous\topology.py", line 428, in select_server
server = self._select_server(
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo\synchronous\topology.py", line 402, in _select_server
servers = self.select_servers(
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo\synchronous\topology.py", line 298, in select_servers
server_descriptions = self._select_servers_loop(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\joaov\OneDrive\Documentos\GitHub\alura-python-testes\burguer-app\product-service\venv\Lib\site-packages\pymongo\synchronous\topology.py", line 359, in _select_servers_loop
raise ServerSelectionTimeoutError(
pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [WinError 10061] Nenhuma conexão pôde ser feita porque a máquina de destino as recusou ativamente (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms), Timeout: 30s, Topology Description: <TopologyDescription id: 69d9668b042cc335e2e22911, topology_type: Unknown, servers: [<ServerDescription ('localhost', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('localhost:27017: [WinError 10061] Nenhuma conexão pôde ser feita porque a máquina de destino as recusou ativamente (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)')>]>

1 resposta

Olá, João! Tudo bem?

O problema está relacionado à conexão com o MongoDB. O erro "ServerSelectionTimeoutError" indica que o seu aplicativo não conseguiu se conectar ao servidor MongoDB no endereço localhost:27017. Isso pode ocorrer por alguns motivos comuns:

  1. MongoDB não está em execução: certifique-se de que o serviço do MongoDB está rodando no seu computador. Você pode iniciar o MongoDB manualmente se ele não estiver rodando. No Windows, você pode usar o prompt de comando ou o PowerShell para iniciar o serviço com o comando net start MongoDB.

  2. Configuração de conexão incorreta: verifique se o endereço e a porta do MongoDB estão corretos no seu código. No seu caso, parece que está tentando conectar-se ao localhost:27017, que é o padrão, mas vale a pena confirmar se é isso mesmo que você deseja.

  3. Firewall ou antivírus bloqueando a conexão: às vezes, o firewall ou o antivírus pode bloquear a conexão. Verifique as configurações do seu firewall para garantir que o MongoDB possa aceitar conexões.

  4. Variáveis de ambiente: certifique-se de que todas as variáveis de ambiente necessárias para a execução do serviço estão devidamente configuradas. Isso inclui a URL de conexão com o MongoDB, se estiver usando variáveis de ambiente para configurá-la.

Espero que essas dicas ajudem a resolver o problema. Se precisar de mais alguma coisa, estou por aqui.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.