MCPcopy
hub / github.com/redis/node-redis / #executeTask

Method #executeTask

packages/client/lib/client/pool.ts:490–507  ·  view source on GitHub ↗
(
    node: DoublyLinkedNode<RedisClientType<M, F, S, RESP, TYPE_MAPPING>>,
    resolve: <T>(value: T | PromiseLike<T>) => void,
    reject: (reason?: unknown) => void,
    fn: PoolTask<M, F, S, RESP, TYPE_MAPPING>
  )

Source from the content-addressed store, hash-verified

488 }
489
490 #executeTask(
491 node: DoublyLinkedNode<RedisClientType<M, F, S, RESP, TYPE_MAPPING>>,
492 resolve: <T>(value: T | PromiseLike<T>) => void,
493 reject: (reason?: unknown) => void,
494 fn: PoolTask<M, F, S, RESP, TYPE_MAPPING>
495 ) {
496 const result = fn(node.value);
497 if (result instanceof Promise) {
498 result
499 .then(resolve, reject)
500 .finally(() => {
501 this.#returnClient(node);
502 })
503 } else {
504 resolve(result);
505 this.#returnClient(node);
506 }
507 }
508
509 #returnClient(node: DoublyLinkedNode<RedisClientType<M, F, S, RESP, TYPE_MAPPING>>) {
510 const task = this.#tasksQueue.shift();

Callers 2

#returnClientMethod · 0.95
executeMethod · 0.80

Calls 1

#returnClientMethod · 0.95

Tested by

no test coverage detected