Pārlūkot izejas kodu

fix(api): adjust gevent patching

tags/2.0.0-beta.1
QuantumGhost pirms 1 mēnesi
vecāks
revīzija
e761f38d26
3 mainītis faili ar 33 papildinājumiem un 1 dzēšanām
  1. 22
    0
      api/celery_entrypoint.py
  2. 1
    1
      api/docker/entrypoint.sh
  3. 10
    0
      api/gunicorn.conf.py

+ 22
- 0
api/celery_entrypoint.py Parādīt failu

@@ -0,0 +1,22 @@
import logging

import psycogreen.gevent as pscycogreen_gevent # type: ignore
from grpc.experimental import gevent as grpc_gevent # type: ignore

_logger = logging.getLogger(__name__)


def _log(message: str):
print(message, flush=True)


# grpc gevent
grpc_gevent.init_gevent()
_log("gRPC patched with gevent.")
pscycogreen_gevent.patch_psycopg()
_log("psycopg2 patched with gevent.")


from app import app, celery

__all__ = ["app", "celery"]

+ 1
- 1
api/docker/entrypoint.sh Parādīt failu

@@ -30,7 +30,7 @@ if [[ "${MODE}" == "worker" ]]; then
CONCURRENCY_OPTION="-c ${CELERY_WORKER_AMOUNT:-1}"
fi

exec celery -A app.celery worker -P ${CELERY_WORKER_CLASS:-gevent} $CONCURRENCY_OPTION \
exec celery -A celery_entrypoint.celery worker -P ${CELERY_WORKER_CLASS:-gevent} $CONCURRENCY_OPTION \
--max-tasks-per-child ${MAX_TASKS_PER_CHILD:-50} --loglevel ${LOG_LEVEL:-INFO} \
-Q ${CELERY_QUEUES:-dataset,mail,ops_trace,app_deletion,plugin,workflow_storage,conversation}


+ 10
- 0
api/gunicorn.conf.py Parādīt failu

@@ -0,0 +1,10 @@
import psycogreen.gevent as pscycogreen_gevent # type: ignore
from grpc.experimental import gevent as grpc_gevent # type: ignore


def post_fork(server, worker):
# grpc gevent
grpc_gevent.init_gevent()
server.log.info("gRPC patched with gevent.")
pscycogreen_gevent.patch_psycopg()
server.log.info("psycopg2 patched with gevent.")

Notiek ielāde…
Atcelt
Saglabāt