Erlang: create filewatcher

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 независимо, но в этом случае я не знаю, кому отправить сообщение?

Может быть, есть какие-то похожие проекты / библиотеки?

5
задан Peer Stritzinger 16 April 2011 в 07:34
поделиться