@@ -109,16 +109,20 @@ def start(self) -> None:
109109 self ._stderr_thread .start ()
110110 self ._monitor_thread .start ()
111111
112- def task (self , script : str , inputs : Args | None = None ) -> "Task" :
112+ def task (
113+ self , script : str , inputs : Args | None = None , queue : str | None = None
114+ ) -> "Task" :
113115 """
114116 Create a new task, passing the given script to the worker for execution.
115117 :param script:
116118 The script for the worker to execute in its environment.
117119 :param inputs:
118120 Optional list of key/value pairs to feed into the script as inputs.
121+ :param queue:
122+ Optional queue target. Pass "main" to queue to worker's main thread.
119123 """
120124 self .start ()
121- return Task (self , script , inputs )
125+ return Task (self , script , inputs , queue )
122126
123127 def close (self ) -> None :
124128 """
@@ -298,12 +302,17 @@ class Task:
298302 """
299303
300304 def __init__ (
301- self , service : Service , script : str , inputs : Args | None = None
305+ self ,
306+ service : Service ,
307+ script : str ,
308+ inputs : Args | None = None ,
309+ queue : str | None = None ,
302310 ) -> None :
303311 self .uuid = uuid4 ().hex
304312 self .service = service
305313 self .script = script
306314 self .inputs : Args = {}
315+ self .queue : str | None = queue
307316 if inputs is not None :
308317 self .inputs .update (inputs )
309318 self .outputs : Args = {}
@@ -323,7 +332,7 @@ def start(self) -> "Task":
323332
324333 self .status = TaskStatus .QUEUED
325334
326- args = {"script" : self .script , "inputs" : self .inputs }
335+ args = {"script" : self .script , "inputs" : self .inputs , "queue" : self . queue }
327336 self ._request (RequestType .EXECUTE , args )
328337
329338 return self
0 commit comments