@lad-tech/nsc-toolkit 1.18.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -2
- package/README.md +2 -0
- package/dist/StreamManager.js +4 -0
- package/dist/types/interfaces.d.ts +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# [1.
|
|
1
|
+
# [1.20.0](https://github.com/lad-tech/nsc-toolkit/compare/v1.19.0...v1.20.0) (2024-07-01)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Features
|
|
5
5
|
|
|
6
|
-
*
|
|
6
|
+
* Add new option in get listener logic ([#106](https://github.com/lad-tech/nsc-toolkit/issues/106)) ([fa2a33f](https://github.com/lad-tech/nsc-toolkit/commit/fa2a33f4cee529c367d5f211b1cbcb4fc3c0de3c))
|
package/README.md
CHANGED
|
@@ -210,6 +210,7 @@ npm i
|
|
|
210
210
|
- `useStream` 一 использование Web-стримов для входных и выходных данных;
|
|
211
211
|
- `request` 一 Web-стрим на входе;
|
|
212
212
|
- `response` 一 Web-стрим на выходе;
|
|
213
|
+
- `timeout` 一 Таймаут в миллисекундах
|
|
213
214
|
- `cache` 一 кеширование запроса (задается в минутах);
|
|
214
215
|
- `runTimeValidation` 一 использование runtime для валидации параметров;
|
|
215
216
|
- `request` 一 для входных данных;
|
|
@@ -232,6 +233,7 @@ npm i
|
|
|
232
233
|
- `retentionPolicy` 一 по каким правилам будут удаляться сообщения из стрима (доступные варианты `limits`|`interest`|`workQueue`, по умолчанию `limits`);
|
|
233
234
|
- `discardPolicy` 一 определяет, какие сообщения будут отброшены при достижении лимита (доступные варианты `old`|`new`, по умолчанию `old`);
|
|
234
235
|
- `messageTTL` 一 срок жизни сообщения (задается в секундах, по умолчанию 2 недели);
|
|
236
|
+
- `maxBytes` 一 максимально возможный лимит стрима по его размеру (если не указывать ограничения по размеру не будет);
|
|
235
237
|
- `duplicateTrackingTime` 一 временной отрезок, на котором работает дедубликация сообщений (задается в секундах, по умолчанию 1 день);
|
|
236
238
|
- `replication` 一 количество реплик стрима (по умолчанию 1);
|
|
237
239
|
- `rollUps` 一 флаг, разрешающий удалить все сообщения из стрима (по умолчанию `true`).
|
package/dist/StreamManager.js
CHANGED
|
@@ -35,6 +35,7 @@ class StreamManager extends Root_1.Root {
|
|
|
35
35
|
num_replicas: options.replication || this.defaultStreamOption.replication,
|
|
36
36
|
discard: (options.discardPolicy || this.defaultStreamOption.discardPolicy),
|
|
37
37
|
max_age: this.convertSecondsToNanoseconds(options.messageTTL || this.defaultStreamOption.messageTTL),
|
|
38
|
+
max_bytes: options.maxBytes,
|
|
38
39
|
duplicate_window: this.convertSecondsToNanoseconds(options.duplicateTrackingTime || this.defaultStreamOption.duplicateTrackingTime),
|
|
39
40
|
allow_rollup_hdrs: options.rollUps || this.defaultStreamOption.rollUps,
|
|
40
41
|
};
|
|
@@ -62,6 +63,9 @@ class StreamManager extends Root_1.Root {
|
|
|
62
63
|
.ackExplicit()
|
|
63
64
|
.maxAckPending((setting === null || setting === void 0 ? void 0 : setting.maxPending) || 10)
|
|
64
65
|
.deliverTo((0, nats_1.createInbox)());
|
|
66
|
+
if (setting === null || setting === void 0 ? void 0 : setting.maxAckWaiting) {
|
|
67
|
+
options.maxWaiting(setting.maxAckWaiting);
|
|
68
|
+
}
|
|
65
69
|
if (setting === null || setting === void 0 ? void 0 : setting.queue) {
|
|
66
70
|
options.queue(setting.queue);
|
|
67
71
|
}
|
|
@@ -67,6 +67,7 @@ export interface GetListenerOptions {
|
|
|
67
67
|
queue?: string;
|
|
68
68
|
deliver?: 'all' | 'new';
|
|
69
69
|
maxPending?: number;
|
|
70
|
+
maxAckWaiting?: number;
|
|
70
71
|
}
|
|
71
72
|
export interface StreamManagerParam {
|
|
72
73
|
serviceName: string;
|
|
@@ -87,6 +88,7 @@ export interface StreamAction {
|
|
|
87
88
|
retentionPolicy?: 'limits' | 'interest' | 'workQueue' | string;
|
|
88
89
|
discardPolicy?: 'old' | 'new' | string;
|
|
89
90
|
messageTTL?: number;
|
|
91
|
+
maxBytes?: number;
|
|
90
92
|
duplicateTrackingTime?: number;
|
|
91
93
|
replication?: number;
|
|
92
94
|
rollUps?: boolean;
|