MATLAB: Flag whether or not a program has been called by createTask

Parallel Computing Toolbox

I run certain jobs either as standalone jobs, or in parallel, for example called by createTask. Is there some way to distinguish between these cases? obviously I could use brute force, use dbstack and related tools and check if the calling line had the word createTask in it, but I'd much prefer to do something more general/elegant. Since one can interact with programs in the former case, but not the latter, there must be something matlab knows that I can tap into…
Thanks very much for any help!
Leo

Best Answer

One simple way is to check the return of getCurrentTask. This will always return empty in a desktop MATLAB session, and a parallel.Task object when running on a worker.