fix(celery): setup statsd on celery

This commit is contained in:
RhodeCode Admin 2023-12-21 10:15:16 +01:00
parent ef6ae48f2a
commit 1f4420a3d8

View file

@ -162,7 +162,11 @@ def _init_celery(app_type=''):
log.debug('Got Pyramid ENV: %s', env)
celery_settings = get_celery_config(env['registry'].settings)
settings = env['registry'].settings
celery_settings = get_celery_config(settings)
# init and bootstrap StatsdClient
StatsdClient.setup(settings)
setup_celery_app(
app=env['app'], root=env['root'], request=env['request'],
@ -188,10 +192,11 @@ def on_beat_init(sender=None, conf=None, **kwargs):
def task_prerun_signal(task_id, task, args, **kwargs):
ping_db()
statsd = StatsdClient.statsd
if statsd:
task_repr = getattr(task, 'name', task)
statsd.incr('rhodecode_celery_task_total', tags=[
'task:{}'.format(task_repr),
f'task:{task_repr}',
'mode:async'
])