feat(数据库): 添加数据库写入开关配置
添加 DB_WRITE_ENABLED 和 G5_DB_WRITE_ENABLED 环境变量配置 在数据库操作逻辑中增加写入开关检查
This commit is contained in:
@@ -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 });
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user