Как обрабатывать параллельный пул при ошибке или исключении - PullRequest
0 голосов
/ 30 января 2020

Я использую параллельные вычисления. Когда мой код matlab завершается из-за исключительной ситуации / ошибки во время работы параллельного рабочего (например, внутри бесконечного l oop), я должен перезапустить пул с помощью delete(gcp) и перезапустить gcp. В противном случае следующие прогоны всегда останавливаются. Но перезапуск параллельных пулов занимает слишком много времени.

Этого не происходит, когда я вручную отменяю будущий объект cancel(futureObject), но я не хочу делать это каждый раз, когда программа неожиданно завершает работу.

Я могу отменить futureObject в начале сценария Matlab, но объект удаляется, когда я случайно выполняю clear all, и нет никакого способа, но я должен сделать delete(gcp). Есть ли способ автоматически отменить весь объект futureubject (даже если он больше не находится в базовой рабочей области) при каждом перезапуске сценария matlab?

1 Ответ

0 голосов
/ 01 февраля 2020

Я просто решил использовать try/catch блок с cancel(futureObject) на верхнем уровне скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...