additional fixes for exit codes, add separate exit code for upload failed

This commit is contained in:
Ilya Kreymer 2025-02-09 13:12:05 -08:00
parent 980b665678
commit f14f53f5c2
2 changed files with 30 additions and 4 deletions

View file

@ -18,6 +18,7 @@ import {
BEHAVIOR_TYPES,
ExtractSelector,
DEFAULT_MAX_RETRIES,
ExitCodes,
} from "./constants.js";
import { ScopedSeed } from "./seeds.js";
import { interpolateFilename } from "./storage.js";
@ -704,6 +705,9 @@ class ArgParser {
if (argv.collection.search(/^[\w][\w-]*$/) === -1) {
logger.fatal(
`\n${argv.collection} is an invalid collection name. Please supply a collection name only using alphanumeric characters and the following characters [_ - ]\n`,
{},
"general",
ExitCodes.FailCrawl,
);
}
@ -737,7 +741,12 @@ class ArgParser {
argv.mobileDevice.replace("-", " ")
];
if (!argv.emulateDevice) {
logger.fatal("Unknown device: " + argv.mobileDevice);
logger.fatal(
"Unknown device: " + argv.mobileDevice,
{},
"general",
ExitCodes.FailCrawl,
);
}
} else {
argv.emulateDevice = { viewport: null };
@ -773,7 +782,12 @@ class ArgParser {
try {
parser(selector);
} catch (e) {
logger.fatal("Invalid Link Extraction CSS Selector", { selector });
logger.fatal(
"Invalid Link Extraction CSS Selector",
{ selector },
"general",
ExitCodes.FailCrawl,
);
}
return { selector, extract, isAttribute };
});
@ -828,10 +842,20 @@ class ArgParser {
}
if (!scopedSeeds.length) {
logger.fatal("No valid seeds specified, aborting crawl");
logger.fatal(
"No valid seeds specified, aborting crawl",
{},
"general",
ExitCodes.FailCrawl,
);
}
} else if (!argv.qaSource) {
logger.fatal("--qaSource required for QA mode");
logger.fatal(
"--qaSource required for QA mode",
{},
"general",
ExitCodes.FailCrawl,
);
}
argv.scopedSeeds = scopedSeeds;

View file

@ -15,6 +15,7 @@ import { logger } from "./logger.js";
import getFolderSize from "get-folder-size";
import { WACZ } from "./wacz.js";
import { ExitCodes } from "./constants.js";
const DEFAULT_REGION = "us-east-1";
@ -186,6 +187,7 @@ export class S3StorageSync {
"redis webhook url must be in format: redis://<host>:<port>/<db>/<key>",
{},
"redis",
ExitCodes.FailCrawl,
);
}
const redis = await initRedis(parts.slice(0, 4).join("/"));