Fixed 267U.pre2

This commit is contained in:
2026-07-26 18:25:37 +09:00
parent 50bfaeafdf
commit 317d00a284
1286 changed files with 80222 additions and 1 deletions
@@ -0,0 +1,80 @@
import { ScheduledNotes } from "../../../models/index.js";
import { createQueue, defaultJobOpts } from "../index.js";
import { clean } from "./clean.js";
import { cleanCharts } from "./clean-charts.js";
import { checkExpiredMutings } from "./check-expired-mutings.js";
import { checkExpiredMemoriets } from "./check-expired-memoriets.js";
import { resyncCharts } from "./resync-charts.js";
import { tickCharts } from "./tick-charts.js";
import { verifyLinks } from "./verify-links.js";
import { publishScheduledNoteJob } from "./publish-scheduled-note.js";
import { enqueueScheduledNote } from "./scheduled-note.js";
const processors = {
clean,
cleanCharts,
checkExpiredMutings,
checkExpiredMemoriets,
resyncCharts,
tickCharts,
verifyLinks,
publishScheduledNote: publishScheduledNoteJob
};
async function process(job) {
const processor = processors[job.name];
if (processor === undefined) return "skip: unknown job name";
return await processor(job);
}
const [systemQueue_, systemInitQueue] = createQueue("system", process, {
concurrency: Object.keys(processors).length
});
export const systemQueue = systemQueue_;
async function enqueuePendingScheduledNotes() {
const scheduledNotes = await ScheduledNotes.find({
where: {
status: "scheduled"
}
});
for (const scheduledNote of scheduledNotes){
await enqueueScheduledNote(scheduledNote);
}
}
export async function systemInit() {
await systemInitQueue();
for (const { name, seconds } of [
{
name: "clean",
seconds: 60 * 60
},
{
name: "cleanCharts",
seconds: 60 * 60
},
{
name: "checkExpiredMutings",
seconds: 5 * 60
},
{
name: "checkExpiredMemoriets",
seconds: 60
},
{
name: "resyncCharts",
seconds: 60 * 60
},
{
name: "tickCharts",
seconds: 60
},
{
name: "verifyLinks",
seconds: 60 * 60 * 24
}
]){
await systemQueue.upsertJobScheduler(name, {
every: seconds * 1000
}, {
opts: defaultJobOpts
});
}
await enqueuePendingScheduledNotes();
}