> Erlang中文手册 > takeover/2 接管一个分布应用

application:takeover/2

接管一个分布应用

用法:

takeover(Application, Type) -> ok | {error, Reason}

在另外一个节点对应用 Application 执行一个接管迁移操作。在当前节点,应用通过调用函数 Module:start({takeover,Node},StartArgs) 而重新启动。Module 和 StartArgs 会从加载的应用描述信息里获取。在另外一个节点上应用不会停止启动直到启动成功。

在接管过程中这两个应用程序将同时运行,数据会从旧应用那里传到新应用那里。如果不出意外,旧的应用将会关停直到新应用启动完毕。

Type 表示重启类型,取值有一下几种:permanent、transient、temporary。

application:takeover(genfsm, temporary).