UNPKG

@apiratorjs/locking-redis

Version:

An extension to the core @apiratorjs/locking library, providing Redis-based implementations of distributed mutexes and semaphores for true cross-process concurrency control in Node.js.

31 lines 1.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createRedisLockFactory = createRedisLockFactory; const redis_distributed_semaphore_1 = require("./redis-distributed-semaphore"); const redis_distributed_mutex_1 = require("./redis-distributed-mutex"); const redis_1 = require("redis"); async function createRedisLockFactory(options) { const redisClient = (0, redis_1.createClient)({ url: options.url }); await redisClient.connect(); return { createDistributedSemaphore(props) { const { name, maxCount } = props; return new redis_distributed_semaphore_1.RedisDistributedSemaphore({ name, maxCount, redisClient }); }, createDistributedMutex(props) { const { name } = props; return new redis_distributed_mutex_1.RedisDistributedMutex({ name, redisClient }); }, getRedisClient() { return redisClient; } }; } //# sourceMappingURL=index.js.map