I have to implement file watcher functionality in Erlang: There should be a process that list files if specific directory and do something, when files appear.
I take a look at OTP. So at the moment I have following ideas: 1. Создайте супервизора, который будет управлять gen_servers (по одному серверу на папку) 2. Создайте WatchServer - gen_server для каждой папки, которую я хочу отслеживать. 3. Создайте ProcessFileServer - сервер генерации, который должен что-то делать с файлами) Предположим копирование в другую папку =
Итак, первая проблема: WatchServer не должен ждать запроса, он должен генерировать его через заранее определенные интервалы.
На данный момент у меня есть создал таймер в функции init / 1 и обработал событие on_timer в функции handle_info.
Теперь вопросы: 1. Есть идеи получше? 2. Как мне сообщить ProcessFileServer о найденном файле? Мне кажется, что было бы намного удобнее создавать WatchServers и ProcessServers независимо, но в этом случае я не знаю, кому отправить сообщение?
Может быть, есть какие-то похожие проекты / библиотеки?