Почему мой руководитель actix не повторяет попытки остановить актеров? - PullRequest
0 голосов
/ 25 мая 2018

Я реализовал актик актер, включая черту Supervised.Затем я попытался запустить актера под наблюдением, используя

let _: Addr<Unsync, _> = Supervisor::start(|_| MyActor::default());

К сожалению, когда этот актер останавливается, он по какой-то причине не перезапускается автоматически.


Версии зависимости

actix = "0.5"

1 Ответ

0 голосов
/ 25 мая 2018

Николай Ким, автор actix, помог мне проанализировать проблему.Оказывается, что присвоение результата Supervisor::start() переменной с именем _ автоматически отбрасывает результат, поэтому супервизор на самом деле не запустится правильно.

Решением этой проблемы является переименование _переменная _addr:

let _addr: Addr<Unsync, _> = Supervisor::start(|_| MyActor::default());

После переименования Supervisor правильно перезапускает субъект MyActor после его остановки.?

...