我正在尝试使用node的watchFile功能实现db-to-server推送模型。现在我从db导出nfs4共享。服务器安装该共享。当数据库处理新数据时,它会触及其导出位置中的文件。服务器看到文件的时间变化并执行推送到客户端。
问题是服务器在执行后续轮询请求之前没有看到正在更新的文件。这有效地使它成为拉动模型,而不是推动。如果我卸载共享服务器端并触摸mount文件夹中的文件,则watchFile执行得很好,并在默认的5007ms窗口内看到更改。
我的另一个想法包括使用scp将文件从数据库推送到服务器, - 似乎很狡猾但是我已经测试了它并且watchFile可以使用它。我还没有走过CIF路线。
我是否应该放弃依赖nfs4来表达节点的watchFile()?如果没有,我应该调整/测试什么?有哪些替代方法适合你?
答案 0 :(得分:1)
我在samba上看到过相同的情况,在服务器上没有触发手表。事实证明,底层通知取决于更改的源,而不是您所期望的文件系统的基础。
scp和sftp应该可以正常工作,它们适用于我们使用的所有文件系统。就个人而言,即使您的数据库选择在未来发生变化,我也会将其作为一种更可靠的方法。