У меня есть приложение Django с DRF API, развернутое в гибкой среде на Google App Engine.Я использую PostgreSQL с расширением PostGIS.После развертывания у меня работает два экземпляра.
У меня есть API, который позволяет нам использовать GeoDjango для получения определенных местоположений из моей базы данных.При точно таком же вызове API это происходит примерно 50% времени.Как я вижу из журналов консоли GCP, один экземпляр GAE всегда работает, а другой систематически возвращает 500
со следующей ошибкой:
ImportError: Could not find the GEOS library (tried "geos_c", "GEOS").
Try setting GEOS_LIBRARY_PATH in your settings.
Однако библиотека GEOS установлена (см. Dockerfile).ниже).Любая идея о том, почему эти два экземпляра ведут себя по-разному и что я могу сделать, чтобы предотвратить это?
Dockerfile
# [START dockerfile]
FROM gcr.io/google_appengine/python
# Install libraries
RUN apt-get update && apt-get install -y \
binutils \
libproj-dev \
gdal-bin \
python-gdal
# Change the -p argument to use Python 2.7 if desired.
RUN virtualenv /env -p python3.6
# Set virtualenv environment variables. This is equivalent to running
# source /env/bin/activate.
ENV VIRTUAL_ENV /env
ENV PATH /env/bin:$PATH
ADD requirements.txt /app/
RUN pip install -r requirements.txt
ADD . /app/
CMD gunicorn -b :$PORT nlp.wsgi
# [END dockerfile]
app.yaml
# [START runtime]
runtime: custom
env: flex
entrypoint: gunicorn -b :$PORT nlp.wsgi
runtime_config:
python_version: 3
# [END runtime]