gpt4 book ai didi

erlang - 在 Elixir 中,依赖应用程序是否受到监督?

转载 作者:行者123 更新时间:2023-12-04 02:04:55 25 4
gpt4 key购买 nike

到目前为止,我知道当我启动我的 Elixir 应用程序时,一堆依赖的应用程序也会启动。

这些依赖应用程序是否以某种方式在我的应用程序监督树中启动?

如果依赖的应用程序崩溃会怎样?重启了吗?

最佳答案

我猜 Elixir 在应用方面就像 Erlang 一样。

  • 在Erlang中每个应用程序都有一个独立的监督树
  • 如果一个应用程序崩溃了,这意味着最顶层的主管确实崩溃了,所有的重启策略都失败了。 简单地添加一个新的监督层几乎不可能解决问题。
  • 可以使用 application:ensure_all_started(Application[,StartType]) 启动所有依赖项,StartType 可以是
    • temporary :(默认值):如果 temporary 应用程序因任何原因停止,则不会发生任何事情
    • permanent :如果 permanent 应用程序因任何原因停止,则所有其他应用程序终止
    • transient :所有其他应用程序终止是 transient 应用程序因任何原因停止,但 normal
  • 也可以为每个依赖项调用 application:ensure_started(Application[,StartType])。请注意,在这两种情况下,StartType 仅控制一个应用程序终止对其他应用程序的影响,但没有应用重启策略。
  • 可以使用 application:which_applications() 了解哪些应用程序正在运行

关于erlang - 在 Elixir 中,依赖应用程序是否受到监督?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44231839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com