Task
запускается как отдельный процесс. Взаимодействие двух процессов может быть только обмен сообщениями. Нельзя ожидать, что rescue
что-то произошло в одном процессе от другого процесса - процессы изолированы .
Можно rescue
внутри процесса вызываемого (сама задача) или просто запуститьзадача как :transient
и проверка результата, но это попытка заново изобрести функциональность, уже предоставленную OTP.
Проверьте , связав главу в документации.
Если все, что вам нужно, - это повторить попытку при возникновении случайного исключения, запустить задачу под наблюдением и разрешить ее выполнение и сбой, OTP позаботится обо всем остальном, включая перезапуск и т. Д.
Есливам нужно один раз попробовать и как-то отреагировать на возникшее исключение, вам, вероятно, следует пересмотреть архитектуру и вместо этого запустить отслеживаемый процесс, перехватывая выходы.