我正在尝试创建一个每隔几秒/毫秒检查一次目录并处理其中文件的进程,以下内容在Erlang中是否可以接受?
init(Dir) -> loop(Dir).
loop(Dir) ->
check_dir(Dir),
spawn(fun() -> do_something(File) end),
timer:sleep(5).
loop(Dir).
您可以通过多种方式执行此操作。一个很好的第一个尝试是使用timer:apply_interval/4
。设置时间间隔,该函数将在每个时间间隔apply(又称调用)。
timer:apply_interval/4
上面的函数调用将每10 ms调用一次apply_interval(10, cool_module_name, check_dir_and_notify, [File]).
。除非您取消它,否则它将一直持续下去。