From b5d32aeed91eb86080744adf75352377d5920d5d Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sun, 5 Jul 2020 20:14:52 -0400 Subject: [PATCH] use shared kv store when available from app server --- app.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/app.js b/app.js index 27ce8064..1b504239 100644 --- a/app.js +++ b/app.js @@ -41,7 +41,23 @@ function init(mod) { util = mod.util; dir = mod.dir; log = mod.log; - level = require('level')(mod.util.datadir("kvstore"), {valueEncoding:"json"}); + + if (mod.util.globdir) { + // when globdir available, look for shared kvstore + // and if not present, create and share in through env + if (mod.env._level) { + level = mod.env._level; + logger.log("using shared kvstore"); + } else { + level = require('level')(mod.util.globdir("kvstore"), {valueEncoding:"json"}); + mod.env._level = level; + logger.log("creating shared kvstore"); + } + } else { + logger.log("fallback to local kvstore"); + level = require('level')(mod.util.datadir("kvstore"), {valueEncoding:"json"}); + } + cacheDir = mod.util.datadir("cache"); mod.on.reload(() => level.close());