fib-pool
v1.6.0
Published
Generic resource pooling for fibjs
Downloads
113
Readme
Generic resource pooling for fibjs
Install
npm install fib-pool [--save]
Test
npm run ci
Creating a pool
Simple example.
var db = require("db");
var Pool = require("fib-pool");
var p = Pool(() => {
return db.open("sqlite:test.db");
});
Specify maxsize and timeout.
var db = require("db");
var Pool = require("fib-pool");
var p = Pool(() => {
return db.open("sqlite:test.db");
}, 10, 30 * 1000);
Specify custom destroy function.
var db = require("db");
var Pool = require("fib-pool");
var p = Pool({
create: () => {
return db.open("sqlite:test.db");
},
destroy: (o) => {
o.close()
},
timeout: 30 * 1000,
retry: 3
});
Using the pool
var db = require("db");
var Pool = require("fib-pool");
var p = Pool({
create: () => {
return db.open("sqlite:test.db");
},
destroy: (o) => {
o.close()
},
timeout: 30 * 1000,
retry: 3
});
var res = p((conn) => {
conn.execute("select * from test");
});
Using the pool with name
var db = require("db");
var Pool = require("fib-pool");
var p = Pool({
create: (name) => {
return db.open("sqlite:" + name + ".db");
},
destroy: (o) => {
o.close()
},
timeout: 30 * 1000
});
var res = p("test", (conn) => {
conn.execute("select * from test");
});
Clear a pool
Simple example.
var db = require("db");
var Pool = require("fib-pool");
var p = Pool(() => {
return db.open("sqlite:test.db");
});
p.clear();