summaryrefslogtreecommitdiff
path: root/bucky/search/bdb.js
diff options
context:
space:
mode:
Diffstat (limited to 'bucky/search/bdb.js')
-rw-r--r--bucky/search/bdb.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/bucky/search/bdb.js b/bucky/search/bdb.js
new file mode 100644
index 0000000..ba0124d
--- /dev/null
+++ b/bucky/search/bdb.js
@@ -0,0 +1,38 @@
+var bdb_lib = require('berkeleydb')
+var dbenv = new bdb_lib.DbEnv();
+var bdb_status = dbenv.open('./search/db/env')
+console.log('openĀ /search/db:', bdb_status)
+
+var db
+
+function exitHandler(options, err) {
+ db.close()
+ // if (options.cleanup) console.log('clean');
+ if (err) console.log(err.stack);
+ if (options.exit) process.exit();
+}
+
+// do something when app is closing
+process.on('exit', exitHandler.bind(null, {cleanup: true}));
+
+// catches ctrl+c event
+process.on('SIGINT', exitHandler.bind(null, {exit: true}));
+
+// catches "kill pid" (for example: nodemon restart)
+process.on('SIGUSR1', exitHandler.bind(null, {exit: true}));
+process.on('SIGUSR2', exitHandler.bind(null, {exit: true}));
+
+//catches uncaught exceptions
+process.on('uncaughtException', exitHandler.bind(null, {exit:true}));
+
+function open(){
+ if (db) db.close()
+ var _db = new bdb_lib.Db(dbenv);
+ var bdb_status = _db.open('./search.db')
+ console.log('openĀ ./search.db:', bdb_status)
+ db = _db
+}
+
+open()
+
+module.exports = db