From c008f82cb09c4912f229c90e005640706fbc553c Mon Sep 17 00:00:00 2001 From: wancat Date: Wed, 1 Nov 2023 23:09:39 +0800 Subject: [PATCH] fix: container removal, no secretKey panic --- server/package.json | 2 +- server/src/config.js | 8 -------- server/src/containers/expiryChecker.js | 10 ++++++++-- server/src/index.js | 8 ++++++++ 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/server/package.json b/server/package.json index 5b58070..6cbfd07 100644 --- a/server/package.json +++ b/server/package.json @@ -11,10 +11,10 @@ "clean": "node src/cli/clean.js" }, "dependencies": { + "@linux-odyssey/constants": "*", "@linux-odyssey/file-graph": "*", "@linux-odyssey/models": "*", "@linux-odyssey/utils": "*", - "@linux-odyssey/constants": "*", "bcrypt": "^5.1.1", "commander": "^11.0.0", "connect-mongo": "^5.0.0", diff --git a/server/src/config.js b/server/src/config.js index d939e70..889ffa8 100644 --- a/server/src/config.js +++ b/server/src/config.js @@ -22,12 +22,4 @@ const config = { config.baseUrl = get('BASE_URL', `http://${config.host}:${config.port}`) -if (!config.secret) { - console.warn( - 'No SECRET_KEY found in .env! To set up a persistent key, please run the setup script:' - ) - console.warn('yarn setup') - process.exit(1) -} - export default config diff --git a/server/src/containers/expiryChecker.js b/server/src/containers/expiryChecker.js index 3ecc30c..b591722 100644 --- a/server/src/containers/expiryChecker.js +++ b/server/src/containers/expiryChecker.js @@ -15,7 +15,13 @@ export async function removeExpired() { await Promise.all( sessions.map(async (session) => { console.log('Expiring session: ', session._id, session.containerId) - await deleteContainer(session.containerId) + try { + await deleteContainer(session.containerId) + } catch (err) { + if (err.statusCode !== 404) { + throw err + } + } if (session.status === 'active') { session.status = 'inactive' } @@ -25,7 +31,7 @@ export async function removeExpired() { ) console.log('Done checking for expired sessions') } catch (err) { - console.error(err.message) + console.error(err) } } diff --git a/server/src/index.js b/server/src/index.js index 67f4566..94d2683 100644 --- a/server/src/index.js +++ b/server/src/index.js @@ -17,6 +17,14 @@ import sessionMiddleware from './middleware/session.js' import expiryRemovalScheduler from './containers/expiryChecker.js' async function main() { + if (!config.secret) { + console.warn( + 'No SECRET_KEY found in .env! To set up a persistent key, please run the setup script:' + ) + console.warn('yarn setup') + process.exit(1) + } + try { await connectDB(config.db) console.log('Connected to MongoDB')