69 lines
2.0 KiB
TypeScript
Raw Normal View History

///
2022-01-17 14:07:46 +02:00
/// Copyright © 2016-2022 The Thingsboard Authors
///
/// Licensed under the Apache License, Version 2.0 (the "License");
/// you may not use this file except in compliance with the License.
/// You may obtain a copy of the License at
///
/// http://www.apache.org/licenses/LICENSE-2.0
///
/// Unless required by applicable law or agreed to in writing, software
/// distributed under the License is distributed on an "AS IS" BASIS,
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
/// See the License for the specific language governing permissions and
/// limitations under the License.
///
2022-02-18 16:41:24 +02:00
import { BaseData, HasId } from '@shared/models/base-data';
import { TenantId } from '@shared/models/id/tenant-id';
2022-04-29 19:18:11 +03:00
import {QueueId} from '@shared/models/id/queue-id';
2022-02-18 16:41:24 +02:00
export enum ServiceType {
TB_CORE = 'TB_CORE',
TB_RULE_ENGINE = 'TB_RULE_ENGINE',
TB_TRANSPORT = 'TB_TRANSPORT',
JS_EXECUTOR = 'JS_EXECUTOR'
}
2022-02-18 16:41:24 +02:00
export enum QueueSubmitStrategyTypes {
SEQUENTIAL_BY_ORIGINATOR = 'SEQUENTIAL_BY_ORIGINATOR',
SEQUENTIAL_BY_TENANT = 'SEQUENTIAL_BY_TENANT',
SEQUENTIAL = 'SEQUENTIAL',
BURST = 'BURST',
BATCH = 'BATCH'
}
export enum QueueProcessingStrategyTypes {
RETRY_FAILED_AND_TIMED_OUT = 'RETRY_FAILED_AND_TIMED_OUT',
SKIP_ALL_FAILURES = 'SKIP_ALL_FAILURES',
SKIP_ALL_FAILURES_AND_TIMED_OUT = 'SKIP_ALL_FAILURES_AND_TIMED_OUT',
RETRY_ALL = 'RETRY_ALL',
RETRY_FAILED = 'RETRY_FAILED',
RETRY_TIMED_OUT = 'RETRY_TIMED_OUT'
}
export interface QueueInfo extends BaseData<QueueId> {
2022-05-25 18:45:00 +03:00
generatedId?: string;
2022-04-29 19:18:11 +03:00
name: string;
2022-02-18 16:41:24 +02:00
packProcessingTimeout: number;
partitions: number;
2022-04-29 19:18:11 +03:00
consumerPerPartition: boolean;
2022-02-18 16:41:24 +02:00
pollInterval: number;
processingStrategy: {
type: QueueProcessingStrategyTypes,
retries: number,
failurePercentage: number,
pauseBetweenRetries: number,
maxPauseBetweenRetries: number
};
submitStrategy: {
type: QueueSubmitStrategyTypes,
batchSize: number,
};
2022-04-29 19:18:11 +03:00
tenantId?: TenantId;
2022-02-18 16:41:24 +02:00
topic: string;
additionalInfo: {
description?: string;
};
2022-02-18 16:41:24 +02:00
}