11import logging
2- import os
32import typing
43from datetime import datetime , time , timedelta
54from threading import Thread
87from django .db .transaction import on_commit
98from django .utils import timezone
109
11- from task_processor import task_registry
10+ from task_processor import metrics , task_registry
1211from task_processor .exceptions import InvalidArgumentsError , TaskQueueFullError
1312from task_processor .models import RecurringTask , Task , TaskPriority
1413from task_processor .task_run_method import TaskRunMethod
@@ -69,7 +68,8 @@ def delay(
6968 args : tuple [typing .Any , ...] = (),
7069 kwargs : dict [str , typing .Any ] | None = None ,
7170 ) -> Task | None :
72- logger .debug ("Request to run task '%s' asynchronously." , self .task_identifier )
71+ task_identifier = self .task_identifier
72+ logger .debug ("Request to run task '%s' asynchronously." , task_identifier )
7373
7474 kwargs = kwargs or {}
7575
@@ -84,13 +84,16 @@ def delay(
8484 _validate_inputs (* args , ** kwargs )
8585 self .unwrapped (* args , ** kwargs )
8686 elif settings .TASK_RUN_METHOD == TaskRunMethod .SEPARATE_THREAD :
87- logger .debug ("Running task '%s' in separate thread" , self . task_identifier )
87+ logger .debug ("Running task '%s' in separate thread" , task_identifier )
8888 self .run_in_thread (args = args , kwargs = kwargs )
8989 else :
90- logger .debug ("Creating task for function '%s'..." , self .task_identifier )
90+ logger .debug ("Creating task for function '%s'..." , task_identifier )
91+ metrics .task_processor_enqueued_tasks_total .labels (
92+ task_identifier = task_identifier
93+ ).inc ()
9194 try :
9295 task = Task .create (
93- task_identifier = self . task_identifier ,
96+ task_identifier = task_identifier ,
9497 scheduled_for = delay_until or timezone .now (),
9598 priority = self .priority ,
9699 queue_size = self .queue_size ,
@@ -174,7 +177,7 @@ def register_recurring_task(
174177 first_run_time : time | None = None ,
175178 timeout : timedelta | None = timedelta (minutes = 30 ),
176179) -> typing .Callable [[TaskCallable [TaskParameters ]], TaskCallable [TaskParameters ]]:
177- if not os . environ . get ( "RUN_BY_PROCESSOR" ) :
180+ if not settings . TASK_PROCESSOR_MODE :
178181 # Do not register recurring tasks if not invoked by task processor
179182 return lambda f : f
180183
0 commit comments