Freigeben über


AsyncLockOptions interface

Eigenschaften

domainReentrant

Führen Sie eine erneute Sperrung in derselben Domäne durch.

Beispiel

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

Maximal zulässige Zeit zwischen dem Abrufen der Sperre und abschluss der Ausführung.

maxOccupationTime

Maximal zulässige Zeit zwischen der Eingabe der Warteschlange und abschluss der Ausführung.

maxPending

Maximale Anzahl von Aufgaben, die in der Warteschlange gleichzeitig zulässig sind.

Promise

Verwenden Sie ihre eigene Zusagebibliothek anstelle der globalen Promise Variablen.

Beispiel

import AsyncLock = require('async-lock');
import Bluebird = require('bluebird');
import Q = require('q');

new AsyncLock({ Promise: Bluebird }); // Bluebird
new AsyncLock({ Promise: Q });        // Q
skipQueue

Ermöglicht das Queueieren einer Aufgabe vor der Warteschlange, wobei alle enqueuierten Vorgänge übersprungen werden.

Beispiel

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

Maximale Zeitspanne, die ein Element in der Warteschlange verbleiben kann, bevor die Sperre erworben wird.

Details zur Eigenschaft

domainReentrant

Führen Sie eine erneute Sperrung in derselben Domäne durch.

Beispiel

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

Eigenschaftswert

boolean

maxExecutionTime

Maximal zulässige Zeit zwischen dem Abrufen der Sperre und abschluss der Ausführung.

maxExecutionTime?: number

Eigenschaftswert

number

maxOccupationTime

Maximal zulässige Zeit zwischen der Eingabe der Warteschlange und abschluss der Ausführung.

maxOccupationTime?: number

Eigenschaftswert

number

maxPending

Maximale Anzahl von Aufgaben, die in der Warteschlange gleichzeitig zulässig sind.

maxPending?: number

Eigenschaftswert

number

Promise

Verwenden Sie ihre eigene Zusagebibliothek anstelle der globalen Promise Variablen.

Beispiel

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

Eigenschaftswert

unknown

skipQueue

Ermöglicht das Queueieren einer Aufgabe vor der Warteschlange, wobei alle enqueuierten Vorgänge übersprungen werden.

Beispiel

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

Eigenschaftswert

boolean

timeout

Maximale Zeitspanne, die ein Element in der Warteschlange verbleiben kann, bevor die Sperre erworben wird.

timeout?: number

Eigenschaftswert

number