NodeJS 和 Linux 让我受益匪浅。我知道文件在那里,我可以在那里看到。
应用程序由 Jenkins CI 服务器部署在服务器上。NodeJS 版本:v4.3.1
- 产品,v4.3.2
- 开发。它使用 ExpressJS 框架。
我多次使用一个类似配置的文件(旧的应用程序逻辑),我想优化这个过程。由于我使用集群,我认为“嘿,让我们优化该过程并观察该文件的变化,而不是加载太多次(它的重量为 7.4KB)。
所以我使用了 oustide express 应用程序 setInterval(可能不是一个好主意)来检查配置是否自上一小时以来发生了变化。
在开发服务器上,一切都很顺利。在生产中,(平均负载 ~ 20 req/sec )甚至没有关闭。
我在启动时同步加载了两个文件,但是那个 7.4KB 的文件声称他不在那里(ENOENT),即使它与其他确认他在场的配置文件一起部署。
起初我认为它与符号链接有关。但这似乎不是问题。是 Publish Over SSH 插件的情况吗?
我想知道是否有更好的方法(观察时间倒数中的文件更改)以及是否有任何关于 readFile 和 symlink 的问题可能导致这种奇怪的行为。
期待您的解答。谢谢。
更新 19.06.2016
使用示例答录机应用程序链接到 plunkr。这只是另一个用例示例,但与我在该应用程序上实现的类似。