[IPython-dev] async taskclient
Vishal Vatsa
vishal.vatsa at gmail.com
Fri Jun 20 10:22:08 EDT 2008
2008/6/20 Brian Granger <ellisonbg.net at gmail.com>:
>> I have a question about how to use the async task client.
>> Given the following code:
>>
>> def job_runner(code):
>>
>> def submit(task_client, cmd):
>> t1 = Task(cmd, clear_before=True, clear_after=True, pull=['a'])
>> d = task_client.run(t1)
>> d.addCallback(lambda tid:
>> task_client.get_task_result(taskid=tid, block=True))
>> d.addBoth(printer)
>>
>> d = asyncclient.get_task_client()
>> d.addCallback(lambda tc: submit(tc, code))
>>
>>
>> where code is some python code in a string.
>>
>> Is it ok to get a new instance of async task client for every
>> job I want to submit?
>
> You can do this but for each new client there will be a new connection
> to the controller. Thus it is best for performance reasons to use a
> single TaskClient instance for all of your tasks in a sessions.
>
> Is there a reason you want to use a TaskClient for each task?
>
> Cheers,
>
> Brian
>
I tried to reuse the defered that get_task_client() gets me but I was not sure
how to reuse the async task client. Would you have a suggestion on how
to go about this?
Cheers
Vishal
More information about the IPython-dev
mailing list