Я использую набор инструментов для параллельных вычислений. Когда мой код Matlab завершается из-за исключения/ошибки во время работы параллельного рабочего процесса (например, внутри бесконечного цикла), я должен перезапустить пул через delete(gcp)
и перезапустить gcp
. В противном случае следующие прогоны всегда зависают. Но перезапуск параллельных пулов занимает слишком много времени.
Этого не происходит, когда я вручную отменяю будущий объект cancel(futureObject)
, но я не хочу делать это каждый раз, когда программа неожиданно завершается.
Я могу отменить futureObject
в начале сценария Matlab, но объект удаляется, когда я случайно делаю clear all
, и нет никакого способа, но я должен сделать delete(gcp)
. Есть ли способ автоматически отменить все будущие объекты (даже если они больше не находятся в базовой рабочей области) каждый раз, когда я перезапускаю скрипт Matlab?
onCleanup
, может быть. Вы пытались использоватьonCleanup
в рамках своего скрипта для автоматической отменыfutureObject
? - person Andrew Janke   schedule 30.01.2020clear all
? Вы никогда не должны печатать это, никогда! В любом случае, самое простое решение вашей проблемы — сделать так, чтобы ваш код не выдавал ошибок. Взгляните, например, наtry
/catch
. - person Cris Luengo   schedule 30.01.2020