用于重启与被拒绝主机的连接的Erlang Supervisor策略

时间:2010-06-04 04:25:23

标签: erlang behavior supervisor gen-server

我正在使用erlang作为服务之间的桥梁,我想知道人们有什么建议来处理被击落的连接?

我从本地文件中获取输入并将它们输出到AMQP,可以想象AMQP经纪人可能会崩溃。对于这种情况,我想继续重试连接到AMQP服务器,但我不想将CPU与这些连接尝试挂钩。我倾向于在重新启动AMQP代码时进行睡眠。难道“黑客”本能绕过快速失败并让erlang处理它的目的吗?更一般地说,是否应该使用erlang管理员行为来处理故障连接?

1 个答案:

答案 0 :(得分:3)

我认为编写自己的语义来处理与外部服务器的连接本身是合理的。主管最适合处理您自己的流程树中的崩溃/锁定/其他不健康流程,而不是重新连接到外部服务。

您的进程是否在与AMQP代理相同的进程树中管理本地文件,还是单独的服务?