From 862341ec87097944e7143c81600759e9eb0bed60 Mon Sep 17 00:00:00 2001 From: jejolare Date: Tue, 21 Oct 2025 20:14:03 +0700 Subject: [PATCH] update alias system --- server/server.ts | 4 +--- server/services/sync.service.ts | 20 +++++++++++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/server/server.ts b/server/server.ts index f8e9bfb..457802b 100644 --- a/server/server.ts +++ b/server/server.ts @@ -2114,9 +2114,7 @@ cron.schedule("0 */4 * * *", async () => { await waitForDb(); - await syncService.syncAliases(); - - await new Promise(resolve => setTimeout(resolve, 5000000)); + await syncService.startSyncDaemon(); if (process.env.RESYNC_ASSETS === "true") { console.log('Resyncing assets'); diff --git a/server/services/sync.service.ts b/server/services/sync.service.ts index 6dd83b2..1f631ba 100644 --- a/server/services/sync.service.ts +++ b/server/services/sync.service.ts @@ -1,3 +1,4 @@ +import sequelize from "../database/sequelize"; import Alias from "../schemes/Alias"; import rpcService from "./rpc.service"; @@ -17,9 +18,22 @@ class SyncService { enabled: 1 })); - Alias.bulkCreate(preparedData, { - ignoreDuplicates: true, - }) + await sequelize.transaction(async (t) => { + await Alias.destroy({ where: {}, transaction: t }); + await Alias.bulkCreate(preparedData, { transaction: t }); + }); + } + + async startSyncDaemon() { + while (true) { + try { + await this.syncAliases(); + } catch (error) { + console.log(error); + } + + await new Promise(resolve => setTimeout(resolve, 20000)); + } } }