我正在通过一个节点脚本运行一些文件管理任务。包含node-windows包是为了让我能够将此脚本作为windows服务运行。今天早上,当我意识到该服务启动了同一脚本的重复实例时,我遇到了一个严重的错误。这是非常糟糕的,它损坏了24小时的数据,因为两个脚本都试图处理相同的数据集,并最终将它们分解。我从来没有见过windows服务允许这样的事情。有没有其他人遇到过这个问题,或者知道是什么导致了这个问题?
发布于 2017-03-03 23:57:07
请参阅我对node-windows实例的评论。
真正的问题是数据损坏,与节点窗口没有任何关系。节点脚本应该对此具有容错能力。更具体地说,它应该实现文件锁定,这是防止这种情况的标准做法。
有几个可用的文件锁定模块。npm使用的是lockfile。还有另一个名为proper-lockfile的项目,它以一种略微不同(对Windows更友好)的方式解决了这个问题。
https://stackoverflow.com/questions/42420326
复制相似问题