guoziyun 1 éve
szülő
commit
272b3e7332
2 módosított fájl, 12 hozzáadás és 15 törlés
  1. 2 2
      service/cron-jobs/index.js
  2. 10 13
      sync/sync-service.js

+ 2 - 2
service/cron-jobs/index.js

@@ -1,8 +1,8 @@
 const cron = require('node-cron');
 
 const settings = [
-  ['sync', '7 0 * * *', require('../../sync/sync-service')],  // 每天同步一次
-  ['fetch-meta', '20 0 * * *', require('./fetch-meta')],  // 每天跑一次,ai自动生成标题和文案
+  ['sync', '50 0 * * *', require('../../sync/sync-service')],  // 每天同步一次
+  ['fetch-meta', '0 1 * * *', require('./fetch-meta')],  // 每天跑一次,ai自动生成标题和文案
 ]
 
 

+ 10 - 13
sync/sync-service.js

@@ -5,25 +5,22 @@ const appConfig = require('../config/app');
 const SyncSeq = require('./sync-seq');
 const { format } = require('date-fns');
 
-const dbs = ['coloring_ol'];  // 需要同步的数据库, 主数据库(即syncevent表所在的库)放在第一个
-
+const remotedb = 'coloring_ol';  // 远端数据库
+const localdb = 'artsite';  // 本地的数据库
 /**
  * sync from remote
  */
 async function run() {
-  let delay = 30 * 1000; // sync freq
-  let localDBHash = {};
-  let remoteDBHash = {};
   const localClient = await new MongoClient(appConfig.mongodbUrl).connect();
   const remoteClient = await new MongoClient(appConfig.syncUrl).connect();
-  for (let db of dbs) {
-    localDBHash[db] = localClient.db(db);
-    remoteDBHash[db] = remoteClient.db(db);
-  }
+
+  let remoteDB = remoteClient.db(remotedb);
+  let localDB = localClient.db(localdb);
+
   console.log('Connect to remote mongodb ' + appConfig.syncUrl + ' success!');
 
   // 读取远程syncevent表
-  const synceventTB = remoteDBHash[dbs[0]].collection('syncevents');
+  const synceventTB = remoteDB.collection('syncevents');
   // get current local slave sync seq (use mongoose)
   let seq = -1;
   let seqDoc = await SyncSeq.findOne();
@@ -48,10 +45,10 @@ async function run() {
           continue;
         }
 
-        if (!eventDoc.db) eventDoc.db = dbs[0];
+        if (!eventDoc.db) eventDoc.db = remoteDbs[0];
         // 对应的表
-        remotetb = remoteDBHash[eventDoc.db] ? remoteDBHash[eventDoc.db].collection(eventDoc.tb) : null;
-        localtb = localDBHash[eventDoc.db] ? localDBHash[eventDoc.db].collection(eventDoc.tb) : null;
+        remotetb = remoteDB.collection(eventDoc.tb);
+        localtb = localDB.collection(eventDoc.tb);
         if (!remotetb || !localtb) {
           console.warn('unkown sync database: ' + eventDoc.db + ', will skip');
           continue;