我正在使用Chokidar npm模块在我的节点应用程序中建立文件监视。
这是在AWS Elastic Beanstalk支持的实例上运行的。本质上,此文件观察程序正在侦听添加到其中的任何文件的目录。这在我的本地开发盒(只是一个Windows 10环境......)上运行得非常好。我可以将文件移动到目录中,文件观察者可以无缝地获取文件并执行操作。
因此,将其移至AWS Linux框是一个不同的故事。似乎只是...根本不工作。我已经对文件路径进行了四重检查,以确保我的应用配置与EB正在监听的目录相匹配。
在linux框中,我有一个目录可以捕获一些小文件:
/svr/fileprocessing/post_process
然后,在我的node.js应用程序的配置中,我的目标是:
config.postProcessedDir = '/srv/fileprocessing/post_process/';
然后我有chokidar实现:
stataProcessor.launchPostProcessListener = function () {
// initialize the file watcher
chokidar.watch(configuration.postProcessedDir , {
ignored: /[\/\\]\./,
awaitWriteFinish: {
stabilityThreshold: 2000,
pollInterval: 100
}
}).on('add', (file, details) => {
// console.log(file, path);
// do cool stuff!
...
...
只是无法弄清楚为什么它在本地运行良好,但一旦部署它似乎甚至没有启动似乎。我甚至已经在整个配置文件上执行console.log,只是为了验证所有内容是否正确匹配。我在add事件之后立即编写了console.logs,以查看是否有任何消息。没有。为了测试这个东西,还要将自定义linux目录设置为chmod 777。仍然没有快乐。我已经尝试将文件移动到FileZilla目录,并通过SSH进入环境并执行手动“mv”命令。这也不起作用。
我在这里缺少什么或者没有做得正确吗?关于我可以尝试的任何想法/建议?