我希望能够生成大量处理数据并将其纳入监督树的流程。但是,所有默认行为,即gen_server,gen_fsm和gen_event都是事件驱动的。他们必须接收消息来做事。我需要的只是处理数据的进程,如果它们异常终止,它们应该由其主管重新启动。这样做的最佳方式是什么?
答案 0 :(得分:1)
是的,标准行为全部用作服务器,因为他们在做某事之前等待请求。但是,OTP是 open ,因为它提供了实现流程所需的工具,这些流程不是行为,而是适合监督树并做“正确的事”。有关需要完成的操作以及如何操作的说明,请参阅Erlang文档中的Special processes部分。
这并不奇怪,因为所有OTP行为都是在Erlang中实现的,所以库中都有所有“工具”。