开发者

call flock with node.js?

开发者 https://www.devze.com 2023-02-25 10:43 出处:网络
I have cron job to run node.js scripts. Want to use flock to lock a file to make sure 开发者_JS百科my cron jobs are not

I have cron job to run node.js scripts.

Want to use flock to lock a file to make sure 开发者_JS百科my cron jobs are not overlapped.

Any good module for doing file locking ?

Or I should call that in child process ?

Or I should not do any file locking ?

Sorry, I am new to this and not sure file locking is good for async env like node. Thanks


If you're just trying to keep cron jobs from overlapping, consider using the "flock" utility in your crontab instead.

If your cron line looks something like this:

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

You can just change it to this:

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

This will try to get the lock on the lockfile /var/lock/myscript. If it can, it will run the command on the rest of the line and then release the lock; if not (because there's another job running), it will fail.

This keeps you from having to add a lot of dependencies on 'fs-ext' and so on.

There's more information at http://linux.die.net/man/1/flock


See flock function in fs-ext package: https://github.com/baudehlo/node-fs-ext

0

精彩评论

暂无评论...
验证码 换一张
取 消