add missing lock.js

update chrome launch flag
This commit is contained in:
Ilya Kreymer 2022-03-17 08:58:13 +00:00
parent c0508d44a7
commit d723f95cb9
2 changed files with 38 additions and 1 deletions

View file

@ -259,7 +259,7 @@ class Crawler {
"--no-sandbox",
"--disable-background-media-suspend",
"--autoplay-policy=no-user-gesture-required",
"--disable-features=IsolateOrigins,site-per-process",
"--disable-features=Translate,LazyFrameLoading,IsolateOrigins,site-per-process",
"--disable-popup-blocking",
"--disable-backgrounding-occluded-windows",
];

37
util/lock.js Normal file
View file

@ -0,0 +1,37 @@
const path = require("path");
const fs = require("fs");
const os = require("os");
class Lock
{
constructor(dir) {
this.lockDir = path.join(dir, ".lock");
this.lockFile = path.join(this.lockDir, "." + os.hostname());
fs.mkdirSync(this.lockDir, {recursive: true});
fs.closeSync(fs.openSync(this.lockFile, "a"));
console.log(`Created lock file ${this.lockFile}`);
}
release() {
try {
fs.unlinkSync(this.lockFile);
console.log(`Removed lock file ${this.lockFile}`);
} catch (e) {
// ignore remove failure, but see if other locks exist
}
try {
fs.rmdirSync(this.lockDir);
} catch (e) {
// true if no such dir, otherwise not released
return (e.code === "ENOENT");
}
console.log("No more locks");
return true;
}
}
module.exports.Lock = Lock;