AsyncLockOptions interface
Propriedades
| domain |
Faça um reentrante de bloqueio no mesmo domínio. Exemplo
|
| max |
Tempo máximo permitido entre a aquisição do bloqueio e a conclusão da execução. |
| max |
Tempo máximo permitido entre entrar na fila e concluir a execução. |
| max |
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 Exemplo
|
| skip |
Permite enfileirar uma tarefa na frente da fila, ignorando todas as tarefas enfileiradas. Exemplo
|
| 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