fetchOutputs() results in an error when the preceding parfeval() was called using the backgroundPool

8 views (last 30 days)
Lionel Pöffel
Lionel Pöffel on 18 Dec 2021
Commented: Lionel Pöffel on 20 Dec 2021
I have a code piece that works fine:
function [ServerVersInfo,VersInfoObtained,ExcInfo]=GetVersionInfoFromServer(URL)
%init outputs
try
%access server, update outputs accordingly
catch ME
%set fall-back values for outputs
end
end
%calling code
p = gcp('nocreate');
if isempty(p)
p = parpool('local',1);
end
FunHandle = parfeval(p,@GetVersionInfoFromServer,3,StoredUrl);
% wait until FunHandle.State is 'finished'...
[LatestVersInfo,VersInfoObtained,ExcInfo]=fetchOutputs(FunHandle);
When I just replace the pool from the parallel computing toolbox with the backgroundPool, the fetchOutputs throws a MATLAB:parallel:future:ExecutionErrors failure. What's the difference?
(P.S. I tried the backgroundPool because starting the pool from the parallel computing toolbox takes a huge amount of time...)
  2 Comments
Lionel Pöffel
Lionel Pöffel on 20 Dec 2021
The failure message is the quite generic "One or more futures resulted in an error".
But you're right, the limitations described in the documentation will probably affect my use case as well.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!