Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Erlang/OTP中实施临时工_Erlang_Otp_Worker - Fatal编程技术网

如何在Erlang/OTP中实施临时工

如何在Erlang/OTP中实施临时工,erlang,otp,worker,Erlang,Otp,Worker,实施流程的最传统方式是什么,它只应该完成工作并退出 在我的情况下,这些工人由simple\u one\u for\u one主管监督。我在四处搜索,但没有找到比“生成链接”更好的东西: work(Args) -> {ok, spawn_link(fun() -> ... do_the_necessary_work ... end)}. 然而,这种方式似乎不是好的OTP设计 有什么想法吗?这实际上是一个不错的方法,只需确保您使用的是proc_lib:spawn_link(…)

实施流程的最传统方式是什么,它只应该完成工作并退出

在我的情况下,这些工人由
simple\u one\u for\u one
主管监督。我在四处搜索,但没有找到比“生成链接”更好的东西:

work(Args) ->
{ok, spawn_link(fun() ->
    ... do_the_necessary_work ...
end)}.
然而,这种方式似乎不是好的OTP设计


有什么想法吗?

这实际上是一个不错的方法,只需确保您使用的是
proc_lib:spawn_link(…)
而不是
erlang:spawn_link(…)
(用于存储祖先以进行监督树遍历和更详细的错误日志)


当然,您可能希望将所有工作人员的重新启动策略设置为“临时”或“临时”,具体取决于在工作人员出现故障时要执行的操作(重新启动工作人员并尝试再次执行作业,或在出现故障时放弃作业)。

这实际上是一种不错的方法,只需确保您使用的是
proc_lib:spawn_link(…)
,而不是
erlang:spawn_link(…)
(用于存储祖先以进行监督树遍历,以及获取更详细的错误日志)


当然,您可能希望将所有工作人员的重启策略设置为
临时
临时
,具体取决于工作人员故障时的操作(重启工作人员并再次尝试执行作业,或在任何故障时放弃作业).

是否有erlang语法突出显示?是否有erlang语法突出显示?