How to retrieve error message when running script on cluster

11 次查看(过去 30 天)
Hi,
I am running batch jobs using MATLAB remotely on a cluster. How to view the eventual error messages(where I hope to find the line of code where the problem is)? Thanks in advance.

采纳的回答

Edric Ellis
Edric Ellis 2015-5-14
The task within the job object returned by the batch command has a property called Error which has the error stack. You could do something like this:
job = batch('assert(false)');
wait(job);
getReport(job.Tasks(1).Error)
Also note that if you simply call load on the job you'll see the error.
  2 个评论
Bi Bu
Bi Bu 2015-5-14
Thanks. Is it also possible to see a live log of the outputs of the batch in the Matlab command window? The same way in Unix it's done using tail -tail -f filename_output. Thanks again.
Edric Ellis
Edric Ellis 2015-5-19
You can call the diary method while the job is running to do that (you need to be running a relatively recent version of Parallel Computing Toolbox for that to work). Unfortunately the diary method gives you the whole output each time, rather than a tail -f style.
>> j = batch('for ii=1:4,pause(1),disp(ii);end')
>> % After a short while...
>> diary(j)
Warning: The diary of this batch job might be incomplete because the job is still running.
--- Start Diary ---
1
2
--- End Diary ---

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by