Файлы мониторинга для модификаций - PullRequest
0 голосов
/ 19 мая 2018

Я пытаюсь написать простой код, который постоянно проверяет, когда файлы в данной папке модифицируются, и после модификации вызывает функцию.

Я добавил MWE ниже, он «работает», но мне было интересно, есть ли

  • , есть ли библиотеки или утилиты, в которые я должен обратиться за помощью для решения такой проблемы?
  • был более чистый способ непрерывного запуска чего-либо до некоторого события (здесь прерывание)
files_and_times = Dict{String, Int}()
for (root, _, files) ∈ walkdir(dirpath)
    for f ∈ files
        fpath = joinpath(root, f)
        files_and_times[fpath] = stat(fpath).mtime
    end
end
try
    while true
        for (f, t) ∈ files_and_times
            cur_t = stat(f).mtime
            if cur_t > t
                files_and_times[f] = cur_t
                println("file $f was modified")
            end
        end
        sleep(0.5)
    end
catch x
    if isa(x, InterruptException)
        println("Shutting down.")
    else
        throw(x)
    end
end

1 Ответ

0 голосов
/ 21 мая 2018

Комментарии @ rickhg12hs и @Colin_T_Bowers эффективно отвечают на мой вопрос.Отправка ответа для закрытия вопроса.

...