proper use of DataQueue and PollableDataQueue inside of App Designer class?

2 views (last 30 days)
Hi all,
I am aware there are some limitations for the usage of Parallel Computing Toolbox inside of App Designer. How could I set up a method that uses a dataqueue and/or a pollable dataqueue to send data back to the client? I keep getting the following warning:
Warning: Unable to save App Designer app object. Save not supported for matlab.apps.AppBase objects.
I would like to do something similar to the code below
classdef testClass < matlab.apps.AppBase
properties
q;
future1;
end
methods
function app = testClass()
app.q = parallel.pool.DataQueue;
app.q.afterEach(@(x) disp(x));
app.future1 = parfeval(@app.gen,0,app.q);
end
end
methods(Static)
function gen(q)
iter = 1;
while iter < 10
send(q, randn(1));
iter = iter + 1;
pause(0.1);
end
end
end
end

Accepted Answer

Edric Ellis
Edric Ellis on 25 May 2022
In this case, the problem is not with your DataQueue - it's actually with the function handle you're passing in to parfeval. The syntax @app.gen actually binds the value of app into the function_handle - but you don't need that. So, in this case, you can fix this simply by naming the Static method like so:
app.future1 = parfeval(@testClass.gen,0,app.q);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by