fib-pool
TypeScript icon, indicating that this package has built-in type declarations

1.6.0 • Public • Published

Generic resource pooling for fibjs

NPM version Build Status Build status

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();

Readme

Keywords

Package Sidebar

Install

npm i fib-pool

Weekly Downloads

16

Version

1.6.0

License

MIT

Unpacked Size

15 kB

Total Files

10

Last publish

Collaborators

  • xicilion