Удивительный модуль сообщества

Общий пул ресурсов для 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 18
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 17
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();