bugfix> rust > 投稿

私は実装しましたアクティックス  Supervised を含む俳優特性。それから、監督を使用して俳優を開始しようとしました

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

残念ながら、そのアクターが停止した場合、何らかの理由で自動的に再起動されません。


依存バージョン
actix = "0.5"

回答 1 件
  • アクティックスの作者であるニコライ・キムが問題の分析を手伝ってくれました。 Supervisor::start() を割り当てることが判明しました   _ という変数への結果  結果が自動的に破棄されるため、スーパーバイザーは実際に正しく起動しません。

    この問題の解決策は、 _ の名前を変更することです   _addr への変数 :

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

    Supervisor の名前を変更した後   MyActor を正しく再起動します  停止した後の俳優。

あなたの答え