From 7e3e83f25b5390336c2b912eb876c0ff2c47c860 Mon Sep 17 00:00:00 2001 From: zhl Date: Thu, 9 May 2019 20:19:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=84=E7=90=86=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E8=AE=B0=E5=BD=95=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app.js | 4 ++-- src/sites/common.js | 21 +++++++++++---------- src/utils/general.queue.js | 5 +++-- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/app.js b/src/app.js index 71c3300..9eef0c0 100644 --- a/src/app.js +++ b/src/app.js @@ -28,8 +28,8 @@ db.once('open', async function () { // movie.run(); // bookChapter.run(); // await dandanzan.run(); - // await commonTask.run(); - websiteSchedule.scheduleUpdateAll(); + await commonTask.run(); + // websiteSchedule.scheduleUpdateAll(); }); mongoose.connect(config.db, {promiseLibrary: Promise, useNewUrlParser: true}); diff --git a/src/sites/common.js b/src/sites/common.js index 39c6fa8..b4c6065 100644 --- a/src/sites/common.js +++ b/src/sites/common.js @@ -7,13 +7,18 @@ import generalQueue from '../utils/general.queue'; const parseOneRecord = async function (record) { let classTask = require(`./${record.className}`).default; - try { - if(typeof classTask[record.methodName] === 'function'){ - await classTask[record.methodName](record.params); + if(typeof classTask[record.methodName] === 'function'){ + try { + generalQueue.addQueue({ + run: async function () { + await classTask[record.methodName](record.params); + } + }) + } catch (err) { + console.log('error parse false record', record.id); } - } catch (err) { - console.log('error parse false record', record.id); } + } const parseAllRecord = async function () { @@ -32,11 +37,7 @@ const parseAllRecord = async function () { if (records) { for(const record of records) { try { - generalQueue.addQueue({ - run: async function () { - await parseOneRecord(record); - } - }) + await parseOneRecord(record); } catch (err) { console.log('error parse record:', record); } diff --git a/src/utils/general.queue.js b/src/utils/general.queue.js index db5f06b..72abd70 100644 --- a/src/utils/general.queue.js +++ b/src/utils/general.queue.js @@ -7,9 +7,10 @@ let finishCb; let q = async.queue( async (reqObj, cb) => { try { await reqObj.run(); - cb(); + (cb) && (cb()); } catch (err) { - cb(err); + console.log('error parse queue:', reqObj.name, err); + (cb) && (cb(err)); } }, 30); q.drain = function(){