From a279e7acbf63b198daf2f5a7eab1029ab47b21c4 Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Thu, 18 Apr 2019 17:57:30 +0200 Subject: [PATCH] Move Celery signal callback connections back. --- redash/metrics/celery.py | 3 +++ redash/worker.py | 5 ----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/redash/metrics/celery.py b/redash/metrics/celery.py index 6d972f000e..98f62f8018 100644 --- a/redash/metrics/celery.py +++ b/redash/metrics/celery.py @@ -2,12 +2,14 @@ import socket import time +from celery.signals import task_postrun, task_prerun from redash import settings, statsd_client from redash.utils import json_dumps tasks_start_time = {} +@task_prerun.connect def task_prerun_handler(signal, sender, task_id, task, args, kwargs, **kw): try: tasks_start_time[task_id] = time.time() @@ -25,6 +27,7 @@ def metric_name(name, tags): return "{},{}".format(name, tags_string) +@task_postrun.connect def task_postrun_handler(signal, sender, task_id, task, args, kwargs, retval, state, **kw): try: run_time = 1000 * (time.time() - tasks_start_time.pop(task_id)) diff --git a/redash/worker.py b/redash/worker.py index 41467d2b34..20287ce704 100644 --- a/redash/worker.py +++ b/redash/worker.py @@ -10,7 +10,6 @@ from celery.signals import task_postrun, task_prerun, worker_process_init from redash import create_app, settings -from redash.metrics.celery import task_postrun_handler, task_prerun_handler celery = Celery('redash', @@ -68,10 +67,6 @@ def __call__(self, *args, **kwargs): celery.Task = ContextTask -# Connect the task signal handles for Redash metrics -task_prerun.connect(task_prerun_handler) -task_postrun.connect(task_postrun_handler) - # Create Flask app after forking a new worker, to make sure no resources are shared between processes. @worker_process_init.connect