node.js - 用 node.js 调用 flock?

标签 node.js flock

我有 cron 作业来运行 node.js 脚本。

想要使用 flock 锁定文件以确保我的 cron 作业不 重叠。

有什么好的文件锁定模块吗?

或者我应该在子进程中调用它?

或者我不应该做任何文件锁定?

抱歉,我是新手,不确定文件锁定是否适合异步 像 Node 一样的环境。谢谢

最佳答案

如果您只是想避免 cron 作业重叠,请考虑在您的 crontab 中使用“flock”实用程序。

如果您的 cron 行看起来像这样:

*/10 * * * * /usr/bin/node /usr/local/share/myscript

你可以把它改成这样:

*/10 * * * * /usr/bin/flock -n /var/lock/myscript /usr/bin/node /usr/local/share/myscript

这将尝试获取锁文件/var/lock/myscript 上的锁。如果可以,它将在该行的其余部分运行命令,然后释放锁;如果不是(因为有另一个作业在运行),它将失败。

这使您不必在“fs-ext”等上添加大量依赖项。

有关更多信息,请访问 http://linux.die.net/man/1/flock

关于node.js - 用 node.js 调用 flock?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5633050/

相关文章:

linux - 执行 flock 命令时出现错误

linux - bash脚本flock()锁定并启动服务

c - 如何使用 lockf() 解锁?

bash - 200 >"$somefile"完成了什么?

javascript - 在 JavaScript 中强制代码按顺序运行

javascript - 使用控制台打印 node.js 中不断变化的变量

javascript - 使用 require 和 node.js 加载远程 js 文件

node.js - 尝试仅删除数字后面的字符 F 或 C

c - 如果我们尝试使用集群解锁一个已经解锁的文件会发生什么?克朗

layout - Node.js Express 库中的布局是什么?