| 
					
				 | 
			
			
				@@ -22,9 +22,9 @@ from datetime import datetime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from kombu.utils import kwdict, reprcall 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from kombu.utils.encoding import safe_repr, safe_str 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-from celery import current_app 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from celery import exceptions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from celery.app import app_or_default 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from celery.app.state import _tls 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from celery.datastructures import ExceptionInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from celery.task.trace import build_tracer, trace_task, report_internal_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from celery.platforms import set_mp_process_title as setps 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -39,6 +39,8 @@ from . import state 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 logger = get_logger(__name__) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 debug, info, warn, error = (logger.debug, logger.info, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             logger.warn, logger.error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_does_debug = logger.isEnabledFor(logging.DEBUG) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_does_info = logger.isEnabledFor(logging.INFO) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Localize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 tz_to_local = timezone.to_local 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -56,7 +58,7 @@ def execute_and_trace(name, uuid, args, kwargs, request=None, **opts): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         >>> trace_task(name, *args, **kwargs)[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    task = current_app.tasks[name] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    task = _tls.current_app._tasks[name] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         hostname = opts.get("hostname") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         setps("celeryd", name, hostname, rate_limit=True) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -77,9 +79,8 @@ class Request(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  "callbacks", "errbacks", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  "eventer", "connection_errors", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  "task", "eta", "expires", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                 "_does_debug", "_does_info", "request_dict", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                 "acknowledged", "success_msg", "error_msg", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                 "retry_msg", "time_start", "worker_pid", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 "request_dict", "acknowledged", "success_msg", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 "error_msg", "retry_msg", "time_start", "worker_pid", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  "_already_revoked", "_terminate_on_ack", "_tzlocal") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     #: Format string used to log task success. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -148,10 +149,6 @@ class Request(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             "routing_key": delivery_info.get("routing_key"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ## shortcuts 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        self._does_debug = logger.isEnabledFor(logging.DEBUG) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        self._does_info = logger.isEnabledFor(logging.INFO) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.request_dict = body 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @classmethod 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -288,7 +285,7 @@ class Request(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if not self.task.acks_late: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.acknowledge() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.send_event("task-started", uuid=self.id, pid=pid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if self._does_debug: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if _does_debug: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             debug("Task accepted: %s[%s] pid:%r", self.name, self.id, pid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if self._terminate_on_ack is not None: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _, pool, signal = self._terminate_on_ack 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -327,7 +324,7 @@ class Request(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.send_event("task-succeeded", uuid=self.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             result=safe_repr(ret_value), runtime=runtime) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if self._does_info: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if _does_info: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             now = now or time.time() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             runtime = self.time_start and (time.time() - self.time_start) or 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             info(self.success_msg.strip(), { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -341,7 +338,7 @@ class Request(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                          exception=safe_repr(exc_info.exception.exc), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                          traceback=safe_str(exc_info.traceback)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if self._does_info: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if _does_info: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             info(self.retry_msg.strip(), { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "id": self.id, "name": self.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 "exc": safe_repr(exc_info.exception.exc)}, exc_info=exc_info) 
			 |