Потрясающий модуль сообщества

Общий пул ресурсов для fibjs

Статус сборки

Установить

1
npm install fib-pool [--save]

Тест

1
npm run ci

Создание пула

Простой пример.

1 2 3 4 5 6
var db = require("db"); var Pool = require("fib-pool"); var p = Pool(() => { return db.open("sqlite:test.db"); });

Укажите максимальный размер и тайм-аут.

1 2 3 4 5 6
var db = require("db"); var Pool = require("fib-pool"); var p = Pool(() => { return db.open("sqlite:test.db"); }, 10, 30 * 1000);

Укажите пользовательскую функцию уничтожения.

1 2 3 4 5 6 7 8 9 10 11 12 13
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 });

Использование бассейна

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
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"); });

Использование пула с именем

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
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"); });

Очистить пул

Простой пример.

1 2 3 4 5 6 7 8
var db = require("db"); var Pool = require("fib-pool"); var p = Pool(() => { return db.open("sqlite:test.db"); }); p.clear();