File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11from celery import Celery
2+ from celery .signals import task_postrun , task_prerun
3+ from celery .utils .log import get_task_logger
24from 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+
529def create_celery_app () -> Celery :
630 modules = ["interview.tasks" ]
731
You can’t perform that action at this time.
0 commit comments