Partilhar via


AsyncLockOptions interface

Propriedades

domainReentrant

Faça um reentrante de bloqueio no mesmo domínio.

Exemplo

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

Tempo máximo permitido entre a aquisição do bloqueio e a conclusão da execução.

maxOccupationTime

Tempo máximo permitido entre entrar na fila e concluir a execução.

maxPending

Número máximo de tarefas permitidas na fila de cada vez.

Promise

Use sua própria biblioteca de promessas em vez da variável Promise global.

Exemplo

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 enfileirar uma tarefa na frente da fila, ignorando todas as tarefas enfileiradas.

Exemplo

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

Quantidade máxima de tempo que um item pode permanecer na fila antes de adquirir o bloqueio.

Detalhes de Propriedade

domainReentrant

Faça um reentrante de bloqueio no mesmo domínio.

Exemplo

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 Propriedade

boolean

maxExecutionTime

Tempo máximo permitido entre a aquisição do bloqueio e a conclusão da execução.

maxExecutionTime?: number

Valor de Propriedade

number

maxOccupationTime

Tempo máximo permitido entre entrar na fila e concluir a execução.

maxOccupationTime?: number

Valor de Propriedade

number

maxPending

Número máximo de tarefas permitidas na fila de cada vez.

maxPending?: number

Valor de Propriedade

number

Promise

Use sua própria biblioteca de promessas em vez da variável Promise global.

Exemplo

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 Propriedade

unknown

skipQueue

Permite enfileirar uma tarefa na frente da fila, ignorando todas as tarefas enfileiradas.

Exemplo

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 Propriedade

boolean

timeout

Quantidade máxima de tempo que um item pode permanecer na fila antes de adquirir o bloqueio.

timeout?: number

Valor de Propriedade

number