Пишу сейчас модуль к nginx'у. Этот модуль берет из конфига имя файла, из которого он берет какие-то данные и держит их в памяти. Есть необходимость периодически (раз в минуту или раз в пять минут, например) перечитывать этот файл и использовать новые данные (если они поменялись).
Само имя файла не меняется.
Как правильно это делать? Правильно ли я понимаю, что можно, например, делать так, чтобы поменялась inode'а у конфига и делать nginx reload и при этом все будет хорошо работать?
Или лучше использовать какой-то другой вариант? (Вариант проверять при каждом запросе, что подошло время перечитать файл, кажется мне плохим.)
И еще один вопрос. В данном случае получается, что каждый воркер будет держать в памяти то, что он прочитал из файла.
Пока что это не представляет проблемы, данных не так уж много. Но если все же проблема возникнет, то в какую сторону смотреть? В сторону ngx_shared_memory_add и т. д.?