Skip to content

Commit 96449a4

Browse files
committed
reorganize project, fix a couple of miscellaneous issues.
1 parent 80214b5 commit 96449a4

File tree

24 files changed

+63
-66
lines changed

24 files changed

+63
-66
lines changed

lib/dircrawl.js renamed to lib/crawler/dircrawl.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import { getTableRows, parseOutFile } from "./fileworker.js";
1+
import { getTableRows, parseOutFile } from "./workers/fileworker.js";
22
import { Piscina, FixedQueue } from "piscina";
33
import { resolve } from "path";
4-
import debugPrint from "./debugprint.js";
5-
import { File } from "./models/index.js";
6-
import { bulkIndexFiles } from "./services/elasticsearch.js";
7-
import { Timer } from "./time.js";
4+
import debugPrint from "../utility/printutils.js";
5+
import { File } from "../database/models/index.js";
6+
import { bulkIndexFiles } from "../services/elasticsearch.js";
7+
import { Timer } from "../utility/time.js";
88

99
let piscina = new Piscina({
10-
filename: resolve("./lib", "fileworker.js"),
10+
filename: resolve("./lib/crawler/workers/", "fileworker.js"),
1111
taskQueue: new FixedQueue(),
1212
});
1313

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ import {
1616
limit,
1717
offset,
1818
} from "@phalcode/ts-igdb-client";
19-
import { File, Metadata } from "./database.js";
20-
import TaskQueue from "./taskqueue.js";
21-
import { singleLineStatus } from "./debugprint.js";
22-
import { Timer } from "./time.js";
19+
import { File, Metadata } from "../database/database.js";
20+
import TaskQueue from "../utility/taskqueue.js";
21+
import { singleLineStatus } from "../utility/printutils.js";
22+
import { Timer } from "../utility/time.js";
2323
import { readFileSync } from "fs";
2424

25-
export default class MetadataSearch {
25+
export default class MetadataManager {
2626
constructor() {
2727
this.twitchSecrets = {
2828
client_id: process.env.TWITCH_CLIENT_ID,
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ function getNonGameTerms() {
181181
const __filename = fileURLToPath(import.meta.url);
182182
const __dirname = dirname(__filename);
183183

184-
const nonGameTermsPath = resolve(__dirname, 'nonGameTerms.json');
184+
const nonGameTermsPath = resolve(__dirname, '../../json/terms/nonGameTerms.json');
185185
nonGameTermsCache = JSON.parse(readFileSync(nonGameTermsPath, 'utf8'));
186186

187187
return nonGameTermsCache;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,11 @@ export async function initDB() {
123123

124124
// Only force sync if explicitly requested
125125
if (process.env.FORCE_FILE_REBUILD === "1") {
126+
let queryCount = (await QueryCount.findOne())?.count || 0;
126127
await sequelize.sync({ force: true });
127128
await enableTrigram();
129+
//restore query count after force sync
130+
await QueryCount.create({ count: queryCount });
128131
console.log("DB forcefully synchronized.");
129132
}
130133
} catch (error) {
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
import debugPrint from "./debugprint.js";
2-
import { bulkIndexFiles } from "./services/elasticsearch.js";
1+
import debugPrint from "../utility/printutils.js";
2+
import { bulkIndexFiles } from "../services/elasticsearch.js";
33
import { File } from "./models/index.js";
44
import { readFileSync } from "fs";
55
import { fileURLToPath } from "url";
66
import { dirname, resolve } from "path";
77
import { Piscina, FixedQueue } from "piscina";
8-
import { Timer } from "./time.js";
8+
import { Timer } from "../utility/time.js";
99

1010
let piscina = new Piscina({
11-
filename: resolve("./lib", "dbkwworker.js"),
11+
filename: resolve("./lib/database/workers", "dbkwworker.js"),
1212
taskQueue: new FixedQueue(),
1313
});
1414

15-
const BATCH_SIZE = 1000;
15+
const BATCH_SIZE = 100;
1616
const __filename = fileURLToPath(import.meta.url);
1717
const __dirname = dirname(__filename);
18-
const relatedKwRoot = "../lib/json/relatedkeywords/";
18+
const relatedKwRoot = "../json/relatedkeywords/";
1919
const catKwPath = resolve(__dirname, relatedKwRoot + "categories.json");
2020
const nameKwpath = resolve(__dirname, relatedKwRoot + "names.json");
2121
const regionKwpath = resolve(__dirname, relatedKwRoot + "regions.json");
@@ -57,7 +57,7 @@ export async function optimizeDatabaseKws() {
5757
singleLineStatus(
5858
`Optimizing Keywords: ${i} / ${dbLength} ${((i / dbLength) * 100).toFixed(
5959
2
60-
)}% (${proctime.elapsed()})`
60+
)}% (${proctime.elapsed()}) Optimized Rows: ${changes}`
6161
);
6262

6363
for (let x = i; x < currentIndex + BATCH_SIZE; x++) {
@@ -98,7 +98,7 @@ export async function optimizeDatabaseKws() {
9898
changed = true;
9999
}
100100
if (changed) {
101-
result[promiseIndex].save();
101+
await result[promiseIndex].save();
102102
changes++;
103103
}
104104
promiseIndex++;

0 commit comments

Comments
 (0)