How to retrieve error message when running script on cluster

10 views (last 30 days)
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.

Accepted Answer

Edric Ellis
Edric Ellis on 14 May 2015
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 Comments
Bi Bu
Bi Bu on 14 May 2015
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 on 19 May 2015
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 ---

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!