Procházet zdrojové kódy

fix(api): adjust gevent patching

tags/2.0.0-beta.1
QuantumGhost před 2 měsíci
rodič
revize
e761f38d26
3 změnil soubory, kde provedl 33 přidání a 1 odebrání
  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 Zobrazit soubor

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 Zobrazit soubor

CONCURRENCY_OPTION="-c ${CELERY_WORKER_AMOUNT:-1}" CONCURRENCY_OPTION="-c ${CELERY_WORKER_AMOUNT:-1}"
fi 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} \ --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} -Q ${CELERY_QUEUES:-dataset,mail,ops_trace,app_deletion,plugin,workflow_storage,conversation}



+ 10
- 0
api/gunicorn.conf.py Zobrazit soubor

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.")

Načítá se…
Zrušit
Uložit