mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-02-13 19:02:45 +00:00
feat: use differnt processes to handle the queue
This commit is contained in:
31
src/processes/downloadRepository.ts
Normal file
31
src/processes/downloadRepository.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import AnonymousError from "../AnonymousError";
|
||||
import { connect, getRepository } from "../database/database";
|
||||
|
||||
export default async function process(job) {
|
||||
console.log(`${job.data.repoId} is going to be downloaded`);
|
||||
try {
|
||||
await connect();
|
||||
const repo = await getRepository(job.data.repoId);
|
||||
job.progress("get_repo");
|
||||
await repo.resetSate();
|
||||
job.progress("resetSate");
|
||||
try {
|
||||
await repo.anonymize();
|
||||
} catch (error) {
|
||||
await repo.updateStatus("error", error.message);
|
||||
throw error;
|
||||
}
|
||||
} catch (error) {
|
||||
if (error instanceof AnonymousError) {
|
||||
console.error(
|
||||
"[ERROR]",
|
||||
error.toString(),
|
||||
error.stack.split("\n")[1].trim()
|
||||
);
|
||||
} else {
|
||||
console.error(error);
|
||||
}
|
||||
} finally {
|
||||
console.log(`${job.data.repoId} is downloaded`);
|
||||
}
|
||||
}
|
||||
28
src/processes/removeRepository.ts
Normal file
28
src/processes/removeRepository.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import AnonymousError from "../AnonymousError";
|
||||
import { connect, getRepository } from "../database/database";
|
||||
|
||||
export default async function process(job) {
|
||||
try {
|
||||
await connect();
|
||||
console.log(`${job.data.repoId} is going to be removed`);
|
||||
const repo = await getRepository(job.data.repoId);
|
||||
try {
|
||||
await repo.remove();
|
||||
} catch (error) {
|
||||
await repo.updateStatus("error", error.message);
|
||||
throw error;
|
||||
}
|
||||
} catch (error) {
|
||||
if (error instanceof AnonymousError) {
|
||||
console.error(
|
||||
"[ERROR]",
|
||||
error.toString(),
|
||||
error.stack.split("\n")[1].trim()
|
||||
);
|
||||
} else {
|
||||
console.error(error);
|
||||
}
|
||||
} finally {
|
||||
console.log(`${job.data.repoId} is removed`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user