@@ -49,8 +49,6 @@ class Context(object):
4949 containing the scriptworker credentials.
5050 session (aiohttp.ClientSession): the default aiohttp session
5151 task (dict): the task definition for the current task.
52- temp_queue (taskcluster.aio.Queue): the taskcluster Queue object
53- containing the task-specific temporary credentials.
5452
5553 """
5654
@@ -60,8 +58,8 @@ class Context(object):
6058 queue : Optional [Queue ] = None
6159 session : Optional [aiohttp .ClientSession ] = None
6260 task : Optional [Dict [str , Any ]] = None
63- temp_queue : Optional [Queue ] = None
6461 running_tasks = None
62+ _temp_queue = None
6563 _download_semaphore = None
6664 _credentials : Optional [Dict [str , Any ]] = None
6765 _claim_task : Optional [Dict [str , Any ]] = None # This assumes a single task per worker.
@@ -185,7 +183,10 @@ def temp_credentials(self) -> Optional[Dict[str, Any]]:
185183 @temp_credentials .setter
186184 def temp_credentials (self , credentials : Optional [Dict [str , Any ]]) -> None :
187185 self ._temp_credentials = credentials
188- self .temp_queue = self .create_queue (self .temp_credentials )
186+ if credentials is not None :
187+ self .temp_queue = self .create_queue (self .temp_credentials )
188+ else :
189+ self .temp_queue = None
189190
190191 def write_json (self , path : str , contents : Dict [str , Any ], message : str ) -> None :
191192 """Write json to disk.
@@ -232,6 +233,22 @@ def event_loop(self) -> asyncio.AbstractEventLoop:
232233 def event_loop (self , event_loop : asyncio .AbstractEventLoop ) -> None :
233234 self ._event_loop = event_loop
234235
236+ @property
237+ def temp_queue (self ):
238+ """dict: The queue for the current task.
239+
240+ These will have different sets of scopes than the worker queue.
241+
242+ """
243+ if self ._temp_queue :
244+ return self ._temp_queue
245+ else :
246+ return self .queue
247+
248+ @temp_queue .setter
249+ def temp_queue (self , queue ):
250+ self ._temp_queue = queue
251+
235252 async def populate_projects (self , force : bool = False ) -> None :
236253 """Download the ``projects.yml`` file and populate ``self.projects``.
237254
0 commit comments