How to use Task.Diary
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Xinyi Shen
el 25 de Mayo de 2014
Editada: Xinyi Shen
el 8 de Jun. de 2014
Hi, I have difficulty in outputting information to matlab command window when multi-task are running. Specifically I am using a independent multi-task parallel mode. Below is the way I created my multi-task within one job
parallel.defaultClusterProfile('local');
cluster = parcluster();
job = createJob(cluster);
createTask(job, funcHandles, numArray, args,'CaptureDiary',true);
submit(job);
wait(job);
results = fetchOutputs(job);
Within each funcHandle, I want to output some text during the execution. It is said that after matlab 2012b, this functionality is enabled through parallel.Task.Diary property. However, I can neither get nor set such property during the running of the task.There is completely no examples or explanation on how to access this property at all.
I know that I can output the info into a log file. But I still prefer to display something in the command window.
Can anyone help me? Thank you.
0 comentarios
Respuesta aceptada
Edric Ellis
el 2 de Jun. de 2014
The task "diary" property is updated automatically when your task function would emit text to the command window. For example:
c = parcluster('local');
j = createJob(c);
t = createTask(j, @disp, 0, {magic(4)}, 'CaptureDiary', true);
submit(j);
wait(j);
t.Diary
5 comentarios
Edric Ellis
el 3 de Jun. de 2014
You can execute "t.Diary" at any time - including before "wait(j)". So, you might do:
...
submit(j);
while ~strcmp(j.State, 'finished')
disp(t.Diary);
pause(5);
end
Of course, that will display the entire diary each time around the "while" loop. You might want to do something more sophisticated like checking the diary to display only the new lines.
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!