3

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。这只是另一个用例示例,但与我在该应用程序上实现的类似。

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

4

0 回答 0