NodeJS 4.3.1 чтение файлов и публикация через SSH - ENOENT

NodeJS & Linux ПРИЗНАЛИ МЕНЯ. Я знаю, что файл там, я могу видеть его там.

Приложение развернуто на сервере с помощью Jenkins CI server. Версии NodeJS: v4.3.1 - Прод, v4.3.2 - дев. Он использует платформу ExpressJS.

Я использую один и тот же конфигурационный файл несколько раз (старая логика приложения), и я хотел оптимизировать этот процесс. Поскольку я использую кластер, я подумал: "Эй, давайте оптимизируем этот процесс и будем наблюдать за изменениями в этом файле, а не загружать его слишком много раз (он весит 7,4 КБ).

Таким образом, в приложении usttide express я использовал setInterval (может быть, не очень хорошая идея), чтобы проверить, изменилась ли конфигурация с последнего часа.

На сервере dev все прошло гладко. На производстве скважина (средняя нагрузка ~ 20 рэк / сек) даже не близко.

При запуске я загружаю два файла синхронно, но этот файл размером 7,4 КБ утверждает, что его там нет (ENOENT), хотя он был развернут вместе с другим файлом конфигурации, который подтверждает, что он присутствует.

Сначала я подумал, что это как-то связано с символическими ссылками. Но это, похоже, не проблема. Это в случае с плагином Publish Over SSH?

Я хотел бы знать, есть ли лучший способ для этого (смотреть изменения файла в инверсиях времени) и есть ли какие-либо проблемы, связанные с readFile и символической ссылкой, которые могут вызвать такое странное поведение.

С нетерпением жду ваших ответов. Благодарю.

Обновление 19.06.2016

Ссылка на plunkr с примером приложения автоответчика. Это просто еще один пример использования, но он похож на то, что я реализовал в этом приложении.

https://plnkr.co/edit/LJUBiyFLcvXD0AbpC1G3?p=catalogue

0 ответов

Другие вопросы по тегам