feat(数据库): 添加数据库写入开关配置

添加 DB_WRITE_ENABLED 和 G5_DB_WRITE_ENABLED 环境变量配置
在数据库操作逻辑中增加写入开关检查
This commit is contained in:
2026-04-02 14:07:32 +08:00
parent 7713cfeb9e
commit 38f1421fff
3 changed files with 19 additions and 9 deletions

View File

@@ -19,10 +19,12 @@ const bootstrap = async () => {
port: config.db.port,
user: config.db.user,
database: config.db.database,
schema: config.db.schema
schema: config.db.schema,
writeEnabled: config.db.writeEnabled
},
g5db: {
enabled: config.g5db.enabled,
writeEnabled: config.g5db.writeEnabled,
roomStatusMomentSyncEnabled: config.g5db.roomStatusMomentSyncEnabled
},
kafka: {
@@ -180,10 +182,11 @@ const bootstrap = async () => {
const startedAt = Date.now();
while (true) {
try {
const promises = [
dbManager.insertRows({ schema: config.db.schema, table: config.db.table, rows })
];
if (config.g5db.enabled) {
const promises = [];
if (config.db.writeEnabled) {
promises.push(dbManager.insertRows({ schema: config.db.schema, table: config.db.table, rows }));
}
if (config.g5db.writeEnabled && config.g5db.enabled) {
promises.push(g5DbManager.insertRows({ schema: config.g5db.schema, table: config.g5db.table, rows }).catch(e => {
logger.error('G5 Database insert failed but non-blocking', { error: e.message });
}));
@@ -215,10 +218,11 @@ const bootstrap = async () => {
const insertRowsOnce = async (rows) => {
const startedAt = Date.now();
const promises = [
dbManager.insertRows({ schema: config.db.schema, table: config.db.table, rows })
];
if (config.g5db.enabled) {
const promises = [];
if (config.db.writeEnabled) {
promises.push(dbManager.insertRows({ schema: config.db.schema, table: config.db.table, rows }));
}
if (config.g5db.writeEnabled && config.g5db.enabled) {
promises.push(g5DbManager.insertRows({ schema: config.g5db.schema, table: config.g5db.table, rows }).catch(e => {
logger.error('G5 Database insert failed in insertOnce', { error: e.message });
}));