Этот раздел помогает диагностировать и устранять распространенные проблемы при работе с gRPC Document Microservice.
Симптомы:
- Ошибка
Connection refusedпри подключении кlocalhost:50051. - Лог:
Failed to initialize database.
Решение:
- Проверьте, что Docker-контейнеры запущены:
docker-compose ps
- Убедитесь, что MongoDB (
27017), PostgreSQL (5432) и Redis (6379) доступны. - Проверьте правильность
DB_TYPEиDB_URLв.env.
Симптомы:
- gRPC возвращает
INVALID_ARGUMENTс сообщением, например,Поле 'title' не может быть пустым.
Решение:
- Проверьте входные данные в запросе (например, через
grpcurl). - Убедитесь, что обязательные поля (
title,content,author) заполнены.
Симптомы:
- Ошибка
NOT_FOUNDпри вызовеGetDocumentили других методов.
Решение:
- Проверьте корректность UUID в запросе.
- Убедитесь, что документ не помечен как удаленный (
is_deleted = True).
Симптомы:
- Старые данные возвращаются при вызове
GetDocumentилиListDocuments.
Решение:
- Проверьте Redis (
redis-cli, командаKEYS *). - Убедитесь, что
CACHE_TTLв.envне слишком большой. - Проверьте логи на наличие ошибок инвалидации кэша.
Симптомы:
- Лог:
Failed to connect to databaseилиOperationFailure.
Решение:
- Проверьте доступность базы данных:
- MongoDB:
mongo mongodb://mongo:27017. - PostgreSQL:
psql -h localhost -U user -d microservice_db.
- MongoDB:
- Убедитесь, что параметры подключения в
.envкорректны.
Если проблема не решена, создайте issue в репозитории или обратитесь к логам (LOG_LEVEL=DEBUG для большей детализации).