AsyncLockOptions interface
Propiedades
| domain |
Convierta un bloqueo en reentrante en el mismo dominio. Ejemplo
|
| max |
Cantidad máxima de tiempo permitido entre adquirir el bloqueo y completar la ejecución. |
| max |
Cantidad máxima de tiempo permitida entre entrar en la cola y completar la ejecución. |
| max |
Número máximo de tareas permitidas en la cola a la vez. |
| Promise | Use su propia biblioteca de promesas en lugar de la variable global Ejemplo
|
| skip |
Permite poner en cola una tarea delante de la cola, omitiendo todas las tareas en cola. Ejemplo
|
| timeout | Cantidad máxima de tiempo que un elemento puede permanecer en la cola antes de adquirir el bloqueo. |
Detalles de las propiedades
domainReentrant
Convierta un bloqueo en reentrante en el mismo dominio.
Ejemplo
import AsyncLock = require('async-lock');
import * as domain from 'domain';
const lock = new AsyncLock({ domainReentrant: true });
const d = domain.create();
d.run(() => {
lock.acquire('key', () => {
// Enter lock
return lock.acquire('key', () => {
// Enter same lock twice
});
});
});
domainReentrant?: boolean
Valor de propiedad
boolean
maxExecutionTime
Cantidad máxima de tiempo permitido entre adquirir el bloqueo y completar la ejecución.
maxExecutionTime?: number
Valor de propiedad
number
maxOccupationTime
Cantidad máxima de tiempo permitida entre entrar en la cola y completar la ejecución.
maxOccupationTime?: number
Valor de propiedad
number
maxPending
Número máximo de tareas permitidas en la cola a la vez.
maxPending?: number
Valor de propiedad
number
Promise
Use su propia biblioteca de promesas en lugar de la variable global Promise.
Ejemplo
import AsyncLock = require('async-lock');
import Bluebird = require('bluebird');
import Q = require('q');
new AsyncLock({ Promise: Bluebird }); // Bluebird
new AsyncLock({ Promise: Q }); // Q
Promise?: unknown
Valor de propiedad
unknown
skipQueue
Permite poner en cola una tarea delante de la cola, omitiendo todas las tareas en cola.
Ejemplo
import AsyncLock = require('async-lock');
const lock = new AsyncLock();
// Add a task to the front of the queue waiting for a given lock
lock.acquire(key, fn1, cb); // runs immediately
lock.acquire(key, fn2, cb); // added to queue
lock.acquire(key, priorityFn, cb, { skipQueue: true }); // jumps queue and runs before fn2
skipQueue?: boolean
Valor de propiedad
boolean
timeout
Cantidad máxima de tiempo que un elemento puede permanecer en la cola antes de adquirir el bloqueo.
timeout?: number
Valor de propiedad
number