From 616584dc333fdf59fa8617fc3d7dd92ae5556c93 Mon Sep 17 00:00:00 2001 From: MrOrz Date: Wed, 12 Aug 2020 14:23:42 +0800 Subject: [PATCH 1/4] Modify readme and update backtrack comments --- README.md | 1 + src/database/backtrack.js | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5bfac5a0..4c4fcd5e 100644 --- a/README.md +++ b/README.md @@ -191,6 +191,7 @@ If you want to build using docker instead, you may need to modify Dockerfile to LINE_NOTIFY_CLIENT_SECRET= NOTIFY_METHOD=LINE_NOTIFY RUMORS_LINE_BOT_URL= + LINE_FRIEND_URL=https://line.me/R/ti/p/ ``` You can set up a setting page entry point(`LIFF_URL`/liff/index.html?p=setting) in [account manager](https://manager.line.biz/account/) -> rich menu diff --git a/src/database/backtrack.js b/src/database/backtrack.js index d2cd576e..24852523 100644 --- a/src/database/backtrack.js +++ b/src/database/backtrack.js @@ -29,8 +29,7 @@ import { parseToJson } from '@cofacts/line-bot-log-parser'; * * 2. run * ```bash - * npm run build:server - * USER_ID=1 node -r dotenv/config build/database/backtrack.js + * USER_ID=1 node_modules/.bin/babel-node -r dotenv/config src/database/backtrack.js * ``` * * @param {string} path a path of rumors-line-bot-logs folder From 53738e89c30087324f5e5d2fc21172dac4874264 Mon Sep 17 00:00:00 2001 From: Nonumpa Date: Wed, 12 Aug 2020 21:53:05 +0800 Subject: [PATCH 2/4] Fix issue, node process won't exit automatically when running notify script --- src/scripts/scanRepliesAndNotify.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/scripts/scanRepliesAndNotify.js b/src/scripts/scanRepliesAndNotify.js index 14892b84..6b5dc36c 100644 --- a/src/scripts/scanRepliesAndNotify.js +++ b/src/scripts/scanRepliesAndNotify.js @@ -1,6 +1,7 @@ import lib from './lib'; import redis from 'src/lib/redisClient'; import addTime from 'date-fns/add'; +import Client from 'src/database/mongoClient'; export default async function scanRepliesAndNotify() { const timeOffset = JSON.parse(process.env.REVIEW_REPLY_BUFFER) || {}; @@ -16,6 +17,10 @@ export default async function scanRepliesAndNotify() { ); await lib.sendNotification(notificationList); await redis.set('lastScannedAt', nowWithOffset); + + // disconnect redis and mongodb + await redis.quit(); + await (await Client.getInstance()).close(); } if (require.main === module) { From f6035607d1d425fe113b252f978d945edf0d91aa Mon Sep 17 00:00:00 2001 From: Nonumpa Date: Wed, 12 Aug 2020 22:13:51 +0800 Subject: [PATCH 3/4] Update test scanRepliesAndNotify mock redis.quit --- src/scripts/__tests__/scanRepliesAndNotify.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scripts/__tests__/scanRepliesAndNotify.js b/src/scripts/__tests__/scanRepliesAndNotify.js index 2c970d78..e9824049 100644 --- a/src/scripts/__tests__/scanRepliesAndNotify.js +++ b/src/scripts/__tests__/scanRepliesAndNotify.js @@ -7,6 +7,7 @@ import redis from 'src/lib/redisClient'; it('scan replies and notify', async () => { redis.set = jest.fn(); + redis.quit = jest.fn(); lib.getNotificationList = jest.fn().mockImplementationOnce(() => {}); lib.sendNotification = jest.fn(); From b8424424ae7e46f2b0fbc36d16a8a1d41f6e66c5 Mon Sep 17 00:00:00 2001 From: MrOrz Date: Thu, 13 Aug 2020 14:24:29 +0800 Subject: [PATCH 4/4] Add error handler and send error to rollbar --- src/scripts/scanRepliesAndNotify.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/scripts/scanRepliesAndNotify.js b/src/scripts/scanRepliesAndNotify.js index 6b5dc36c..dfd4ac4e 100644 --- a/src/scripts/scanRepliesAndNotify.js +++ b/src/scripts/scanRepliesAndNotify.js @@ -1,5 +1,6 @@ import lib from './lib'; import redis from 'src/lib/redisClient'; +import rollbar from 'src/lib/rollbar'; import addTime from 'date-fns/add'; import Client from 'src/database/mongoClient'; @@ -24,5 +25,9 @@ export default async function scanRepliesAndNotify() { } if (require.main === module) { - scanRepliesAndNotify(); + scanRepliesAndNotify().catch(e => { + console.error(e); + rollbar.error(e); + process.exit(1); + }); }