1.0.5 • Published 6 months ago

@saikatdutta1991/concurrency v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

Installation

Run npm/yarn install

npm install @saikatdutta1991/concurrency

Imports

import { ConcurrencyModule } from '@saikatdutta1991/concurrency';
import { Concurrency } from '@saikatdutta1991/concurrency';

Register Module

@Module({
  imports: [ConcurrencyModule.register('redis://localhost:6379')],
})
export class AppModule {}

Usage

Assume we need to apply concurrency for given method

@Concurrency({ key: 'test' })
public anyMethod(args) {
...
}

Key Generator

Pass a key generator function and anyMethod arguments will be passed into the generator function automatically

@Concurrency({ key: (args: any) => `key_${args.customer.id}` })

Set Auto Lock Release Timeout

By default lock gets released after 30 seconds. To set custom auto lock release timeout.

@Concurrency({ key: 'test', autoReleaseAfterSeconds: 40 })

*Note: Lock gets released automacally after either function execution or timeout of default 30 seconds.

Author

Saikat Dutta (LinkedIn)

License

Licensed under the MIT License - see the LICENSE file for details.

1.0.5

6 months ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago