Skip to content

Commit ea2b8c7

Browse files
committed
adding celery logs
1 parent 5c52b3b commit ea2b8c7

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

src/interview/worker.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,31 @@
11
from celery import Celery
2+
from celery.signals import task_postrun, task_prerun
3+
from celery.utils.log import get_task_logger
24
from kombu import Exchange, Queue
35

46

7+
logger = get_task_logger(__name__)
8+
9+
10+
def _task_name(sender) -> str:
11+
"""Resolve a human-friendly task name for signal callbacks."""
12+
if hasattr(sender, "name") and sender.name:
13+
return sender.name
14+
if isinstance(sender, str):
15+
return sender
16+
return "unknown"
17+
18+
19+
@task_prerun.connect(weak=False)
20+
def announce_task_start(sender=None, task_id=None, **_: object) -> None:
21+
logger.info("Task %s (%s) starting", _task_name(sender), task_id)
22+
23+
24+
@task_postrun.connect(weak=False)
25+
def announce_task_finish(sender=None, task_id=None, state=None, **_: object) -> None:
26+
logger.info("Task %s (%s) finished with state %s", _task_name(sender), task_id, state)
27+
28+
529
def create_celery_app() -> Celery:
630
modules = ["interview.tasks"]
731

0 commit comments

Comments
 (0)