Compartir a través de


AsyncLockOptions interface

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
        });
    });
});
maxExecutionTime

Cantidad máxima de tiempo permitido entre adquirir el bloqueo y completar la ejecución.

maxOccupationTime

Cantidad máxima de tiempo permitida entre entrar en la cola y completar la ejecución.

maxPending

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 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
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
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