Node-Windows服务启动多个实例

时间:2017-02-23 15:48:17

标签: node.js windows-services node-windows

我通过节点脚本运行一些文件管理任务。包含node-windows软件包以允许我将此脚本作为Windows服务运行。今天早上,当我意识到该服务已经启动了相同脚本的重复实例时,我遇到了一个严重的错误。这非常糟糕,它损坏了24小时的数据,因为两个脚本都试图处理相同的数据集并最终粉碎它们。我从未见过Windows服务允许这样的东西。有没有其他人有这个问题或者知道是什么导致它?

1 个答案:

答案 0 :(得分:0)

请参阅我对节点窗口实例的评论。

真正的问题是数据损坏,与节点窗口没有任何关系。节点脚本应具有此容错能力。更具体地说,它应该实现文件锁定,这是防止这种确切情况的标准做法。

有几个文件锁定模块可用。 lockfile是npm使用的。还有另一个名为proper-lockfile的项目,它以稍微不同(更友好的Windows)方式解决问题。