| @@ -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"] | |||
| @@ -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} | |||
| @@ -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.") | |||