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