fix: fix queue admin

This commit is contained in:
tdurieux
2024-04-12 09:56:39 +01:00
parent b4ff27f560
commit daf3276f7f
2 changed files with 17 additions and 12 deletions

View File

@@ -52,6 +52,8 @@ export default async function (job: SandboxedJob<Repository, void>) {
try {
await repo.resetSate(RepositoryStatus.PREPARING, "");
await repo.anonymize(updateProgress);
clearInterval(statusInterval);
await repo.updateStatus(RepositoryStatus.READY, "");
console.log(`[QUEUE] ${job.data.repoId} is downloaded`);
} catch (error) {
updateProgress({ status: "error" });
@@ -72,8 +74,7 @@ export default async function (job: SandboxedJob<Repository, void>) {
// delay to avoid double saving
try {
await repo.updateStatus(RepositoryStatus.ERROR, error.message);
} catch (ignore) {
}
} catch (ignore) {}
}, 400);
} finally {
clearInterval(statusInterval);

View File

@@ -42,17 +42,21 @@ router.post("/queue/:name/:repo_id", async (req, res) => {
} else {
return res.status(404).json({ error: "queue_not_found" });
}
const job = await queue.getJob(req.params.repo_id);
if (!job) {
return res.status(404).json({ error: "job_not_found" });
}
let job;
try {
job = await queue.getJob(req.params.repo_id);
if (!job) {
return res.status(404).json({ error: "job_not_found" });
}
await job.retry();
res.send("ok");
} catch (error) {
try {
await job.remove();
queue.add(job.name, job.data, job.opts);
if (job) {
await job.remove();
queue.add(job.name, job.data, job.opts);
}
res.send("ok");
} catch (error) {
res.status(500).send("error_retrying_job");
@@ -71,11 +75,11 @@ router.delete("/queue/:name/:repo_id", async (req, res) => {
} else {
return res.status(404).json({ error: "queue_not_found" });
}
const job = await queue.getJob(req.params.repo_id);
if (!job) {
return res.status(404).json({ error: "job_not_found" });
}
try {
const job = await queue.getJob(req.params.repo_id);
if (!job) {
return res.status(404).json({ error: "job_not_found" });
}
await job.remove();
res.send("ok");
} catch (error) {