我正在尝试创建一个每隔几秒/毫秒检查一个目录的进程,并处理其中的文件,下面的内容在Erlang中是否可以接受?
init(Dir) -> loop(Dir). loop(Dir) -> check_dir(Dir), spawn(fun() -> do_something(File) end), timer:sleep(5). loop(Dir).
7qhs6swi1#
你可以用很多方法来实现这一点。一个好的第一个尝试是使用timer:apply_interval/4。你设置一个间隔,函数将在每个间隔 * 应用 *(又名调用)你的函数。
timer:apply_interval/4
apply_interval(10, cool_module_name, check_dir_and_notify, [File]).
上面的函数调用将每10 ms调用一次check_dir_and_notify。除非取消,否则它将永远继续。
check_dir_and_notify
1条答案
按热度按时间7qhs6swi1#
你可以用很多方法来实现这一点。一个好的第一个尝试是使用
timer:apply_interval/4
。你设置一个间隔,函数将在每个间隔 * 应用 *(又名调用)你的函数。上面的函数调用将每10 ms调用一次
check_dir_and_notify
。除非取消,否则它将永远继续。