Commit 006fcd03ed09eff402074c33bc2426f7b1d0f706

Authored by Andrii Shvaika
1 parent 6c4b50a3

Improved configuration for HTTP and CoAP transport

... ... @@ -41,24 +41,119 @@ transport:
41 41 # Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)
42 42 max_string_value_length: "${JSON_MAX_STRING_VALUE_LENGTH:0}"
43 43
44   -kafka:
45   - enabled: true
46   - bootstrap.servers: "${TB_KAFKA_SERVERS:localhost:9092}"
47   - acks: "${TB_KAFKA_ACKS:all}"
48   - retries: "${TB_KAFKA_RETRIES:1}"
49   - batch.size: "${TB_KAFKA_BATCH_SIZE:16384}"
50   - linger.ms: "${TB_KAFKA_LINGER_MS:1}"
51   - buffer.memory: "${TB_BUFFER_MEMORY:33554432}"
  44 +queue:
  45 + type: "${TB_QUEUE_TYPE:in-memory}" # kafka or in-memory or aws-sqs or pubsub or service-bus
  46 + kafka:
  47 + bootstrap.servers: "${TB_KAFKA_SERVERS:localhost:9092}"
  48 + acks: "${TB_KAFKA_ACKS:all}"
  49 + retries: "${TB_KAFKA_RETRIES:1}"
  50 + batch.size: "${TB_KAFKA_BATCH_SIZE:16384}"
  51 + linger.ms: "${TB_KAFKA_LINGER_MS:1}"
  52 + buffer.memory: "${TB_BUFFER_MEMORY:33554432}"
  53 + aws_sqs:
  54 + access_key_id: "${TB_QUEUE_AWS_SQS_ACCESS_KEY_ID:YOUR_KEY}"
  55 + secret_access_key: "${TB_QUEUE_AWS_SQS_SECRET_ACCESS_KEY:YOUR_SECRET}"
  56 + region: "${TB_QUEUE_AWS_SQS_REGION:YOUR_REGION}"
  57 + threads_per_topic: "${TB_QUEUE_AWS_SQS_THREADS_PER_TOPIC:1}"
  58 + visibility_timeout: "${TB_QUEUE_AWS_SQS_VISIBILITY_TIMEOUT:30}" #In seconds. If messages wont commit in this time, messages will poll again
  59 + pubsub:
  60 + project_id: "${TB_QUEUE_PUBSUB_PROJECT_ID:YOUR_PROJECT_ID}"
  61 + service_account: "${TB_QUEUE_PUBSUB_SERVICE_ACCOUNT:YOUR_SERVICE_ACCOUNT}"
  62 + ack_deadline: "${TB_QUEUE_PUBSUB_ACK_DEADLINE:30}" #In seconds. If messages wont commit in this time, messages will poll again
  63 + max_msg_size: "${TB_QUEUE_PUBSUB_MAX_MSG_SIZE:1048576}" #in bytes
  64 + max_messages: "${TB_QUEUE_PUBSUB_MAX_MESSAGES:1000}"
  65 + service_bus:
  66 + namespace_name: "${TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME:YOUR_NAMESPACE_NAME}"
  67 + sas_key_name: "${TB_QUEUE_SERVICE_BUS_SAS_KEY_NAME:YOUR_SAS_KEY_NAME}"
  68 + sas_key: "${TB_QUEUE_SERVICE_BUS_SAS_KEY:YOUR_SAS_KEY}"
  69 + max_messages: "${TB_QUEUE_SERVICE_BUS_MAX_MESSAGES:1000}"
  70 + rabbitmq:
  71 + exchange_name: "${TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME:}"
  72 + host: "${TB_QUEUE_RABBIT_MQ_HOST:localhost}"
  73 + port: "${TB_QUEUE_RABBIT_MQ_PORT:5672}"
  74 + virtual_host: "${TB_QUEUE_RABBIT_MQ_VIRTUAL_HOST:/}"
  75 + username: "${TB_QUEUE_RABBIT_MQ_USERNAME:YOUR_USERNAME}"
  76 + password: "${TB_QUEUE_RABBIT_MQ_PASSWORD:YOUR_PASSWORD}"
  77 + automatic_recovery_enabled: "${TB_QUEUE_RABBIT_MQ_AUTOMATIC_RECOVERY_ENABLED:false}"
  78 + connection_timeout: "${TB_QUEUE_RABBIT_MQ_CONNECTION_TIMEOUT:60000}"
  79 + handshake_timeout: "${TB_QUEUE_RABBIT_MQ_HANDSHAKE_TIMEOUT:10000}"
  80 + partitions:
  81 + hash_function_name: "${TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME:murmur3_128}"
  82 + virtual_nodes_size: "${TB_QUEUE_PARTITIONS_VIRTUAL_NODES_SIZE:16}"
52 83 transport_api:
53   - requests_topic: "${TB_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}"
54   - responses_topic: "${TB_TRANSPORT_API_RESPONSE_TOPIC:tb.transport.api.responses}"
55   - max_pending_requests: "${TB_TRANSPORT_MAX_PENDING_REQUESTS:10000}"
56   - max_requests_timeout: "${TB_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}"
57   - response_poll_interval: "${TB_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}"
58   - response_auto_commit_interval: "${TB_TRANSPORT_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}"
59   - rule_engine:
60   - topic: "${TB_RULE_ENGINE_TOPIC:tb.rule-engine}"
61   - notifications:
62   - topic: "${TB_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}"
63   - poll_interval: "${TB_TRANSPORT_NOTIFICATIONS_POLL_INTERVAL_MS:25}"
64   - auto_commit_interval: "${TB_TRANSPORT_NOTIFICATIONS_AUTO_COMMIT_INTERVAL_MS:100}"
  84 + requests_topic: "${TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}"
  85 + responses_topic: "${TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC:tb.transport.api.responses}"
  86 + max_pending_requests: "${TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS:10000}"
  87 + max_requests_timeout: "${TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}"
  88 + max_callback_threads: "${TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS:100}"
  89 + request_poll_interval: "${TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS:25}"
  90 + response_poll_interval: "${TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}"
  91 + core:
  92 + topic: "${TB_QUEUE_CORE_TOPIC:tb.core}"
  93 + poll-interval: "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}"
  94 + partitions: "${TB_QUEUE_CORE_PARTITIONS:10}"
  95 + pack-processing-timeout: "${TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS:60000}"
  96 + stats:
  97 + enabled: "${TB_QUEUE_CORE_STATS_ENABLED:false}"
  98 + print-interval-ms: "${TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS:10000}"
  99 + js:
  100 + # JS Eval request topic
  101 + request_topic: "${REMOTE_JS_EVAL_REQUEST_TOPIC:js.eval.requests}"
  102 + # JS Eval responses topic prefix that is combined with node id
  103 + response_topic_prefix: "${REMOTE_JS_EVAL_RESPONSE_TOPIC:js.eval.responses}"
  104 + # JS Eval max pending requests
  105 + max_pending_requests: "${REMOTE_JS_MAX_PENDING_REQUESTS:10000}"
  106 + # JS Eval max request timeout
  107 + max_requests_timeout: "${REMOTE_JS_MAX_REQUEST_TIMEOUT:10000}"
  108 + # JS response poll interval
  109 + response_poll_interval: "${REMOTE_JS_RESPONSE_POLL_INTERVAL_MS:25}"
  110 + # JS response auto commit interval
  111 + response_auto_commit_interval: "${REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}"
  112 + rule-engine:
  113 + topic: "${TB_QUEUE_RULE_ENGINE_TOPIC:tb.rule-engine}"
  114 + poll-interval: "${TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS:25}"
  115 + pack-processing-timeout: "${TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS:60000}"
  116 + stats:
  117 + enabled: "${TB_QUEUE_RULE_ENGINE_STATS_ENABLED:true}"
  118 + print-interval-ms: "${TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS:10000}"
  119 + queues:
  120 + - name: "Main"
  121 + topic: "${TB_QUEUE_RE_MAIN_TOPIC:tb.rule-engine.main}"
  122 + poll-interval: "${TB_QUEUE_RE_MAIN_POLL_INTERVAL_MS:25}"
  123 + partitions: "${TB_QUEUE_RE_MAIN_PARTITIONS:10}"
  124 + pack-processing-timeout: "${TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS:60000}"
  125 + submit-strategy:
  126 + type: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_TYPE:BURST}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
  127 + # For BATCH only
  128 + batch-size: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_BATCH_SIZE:1000}" # Maximum number of messages in batch
  129 + processing-strategy:
  130 + type: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_TYPE:RETRY_FAILED_AND_TIMED_OUT}" # SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
  131 + # For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
  132 + retries: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRIES:3}" # Number of retries, 0 is unlimited
  133 + failure-percentage: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages;
  134 + pause-between-retries: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRY_PAUSE:3}"# Time in seconds to wait in consumer thread before retries;
  135 + - name: "${TB_QUEUE_RE_HP_QUEUE_NAME:HighPriority}"
  136 + topic: "${TB_QUEUE_RE_HP_TOPIC:tb.rule-engine.hp}"
  137 + poll-interval: "${TB_QUEUE_RE_HP_POLL_INTERVAL_MS:25}"
  138 + partitions: "${TB_QUEUE_RE_HP_PARTITIONS:3}"
  139 + pack-processing-timeout: "${TB_QUEUE_RE_HP_PACK_PROCESSING_TIMEOUT_MS:60000}"
  140 + submit-strategy:
  141 + type: "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_TYPE:SEQUENTIAL_WITHIN_ORIGINATOR}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
  142 + # For BATCH only
  143 + batch-size: "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_BATCH_SIZE:100}" # Maximum number of messages in batch
  144 + processing-strategy:
  145 + type: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_TYPE:RETRY_FAILED_AND_TIMED_OUT}" # SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
  146 + # For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
  147 + retries: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRIES:0}" # Number of retries, 0 is unlimited
  148 + failure-percentage: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages;
  149 + pause-between-retries: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRY_PAUSE:5}"# Time in seconds to wait in consumer thread before retries;
  150 + transport:
  151 + # For high priority notifications that require minimum latency and processing time
  152 + notifications_topic: "${TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}"
  153 + poll_interval: "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}"
  154 +
  155 +service:
  156 + type: "${TB_SERVICE_TYPE:tb-transport}"
  157 + # Unique id for this service (autogenerated if empty)
  158 + id: "${TB_SERVICE_ID:}"
  159 + tenant_id: "${TB_SERVICE_TENANT_ID:}" # empty or specific tenant id.
\ No newline at end of file
... ...
... ... @@ -42,24 +42,119 @@ transport:
42 42 # Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)
43 43 max_string_value_length: "${JSON_MAX_STRING_VALUE_LENGTH:0}"
44 44
45   -kafka:
46   - enabled: true
47   - bootstrap.servers: "${TB_KAFKA_SERVERS:localhost:9092}"
48   - acks: "${TB_KAFKA_ACKS:all}"
49   - retries: "${TB_KAFKA_RETRIES:1}"
50   - batch.size: "${TB_KAFKA_BATCH_SIZE:16384}"
51   - linger.ms: "${TB_KAFKA_LINGER_MS:1}"
52   - buffer.memory: "${TB_BUFFER_MEMORY:33554432}"
  45 +queue:
  46 + type: "${TB_QUEUE_TYPE:in-memory}" # kafka or in-memory or aws-sqs or pubsub or service-bus
  47 + kafka:
  48 + bootstrap.servers: "${TB_KAFKA_SERVERS:localhost:9092}"
  49 + acks: "${TB_KAFKA_ACKS:all}"
  50 + retries: "${TB_KAFKA_RETRIES:1}"
  51 + batch.size: "${TB_KAFKA_BATCH_SIZE:16384}"
  52 + linger.ms: "${TB_KAFKA_LINGER_MS:1}"
  53 + buffer.memory: "${TB_BUFFER_MEMORY:33554432}"
  54 + aws_sqs:
  55 + access_key_id: "${TB_QUEUE_AWS_SQS_ACCESS_KEY_ID:YOUR_KEY}"
  56 + secret_access_key: "${TB_QUEUE_AWS_SQS_SECRET_ACCESS_KEY:YOUR_SECRET}"
  57 + region: "${TB_QUEUE_AWS_SQS_REGION:YOUR_REGION}"
  58 + threads_per_topic: "${TB_QUEUE_AWS_SQS_THREADS_PER_TOPIC:1}"
  59 + visibility_timeout: "${TB_QUEUE_AWS_SQS_VISIBILITY_TIMEOUT:30}" #In seconds. If messages wont commit in this time, messages will poll again
  60 + pubsub:
  61 + project_id: "${TB_QUEUE_PUBSUB_PROJECT_ID:YOUR_PROJECT_ID}"
  62 + service_account: "${TB_QUEUE_PUBSUB_SERVICE_ACCOUNT:YOUR_SERVICE_ACCOUNT}"
  63 + ack_deadline: "${TB_QUEUE_PUBSUB_ACK_DEADLINE:30}" #In seconds. If messages wont commit in this time, messages will poll again
  64 + max_msg_size: "${TB_QUEUE_PUBSUB_MAX_MSG_SIZE:1048576}" #in bytes
  65 + max_messages: "${TB_QUEUE_PUBSUB_MAX_MESSAGES:1000}"
  66 + service_bus:
  67 + namespace_name: "${TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME:YOUR_NAMESPACE_NAME}"
  68 + sas_key_name: "${TB_QUEUE_SERVICE_BUS_SAS_KEY_NAME:YOUR_SAS_KEY_NAME}"
  69 + sas_key: "${TB_QUEUE_SERVICE_BUS_SAS_KEY:YOUR_SAS_KEY}"
  70 + max_messages: "${TB_QUEUE_SERVICE_BUS_MAX_MESSAGES:1000}"
  71 + rabbitmq:
  72 + exchange_name: "${TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME:}"
  73 + host: "${TB_QUEUE_RABBIT_MQ_HOST:localhost}"
  74 + port: "${TB_QUEUE_RABBIT_MQ_PORT:5672}"
  75 + virtual_host: "${TB_QUEUE_RABBIT_MQ_VIRTUAL_HOST:/}"
  76 + username: "${TB_QUEUE_RABBIT_MQ_USERNAME:YOUR_USERNAME}"
  77 + password: "${TB_QUEUE_RABBIT_MQ_PASSWORD:YOUR_PASSWORD}"
  78 + automatic_recovery_enabled: "${TB_QUEUE_RABBIT_MQ_AUTOMATIC_RECOVERY_ENABLED:false}"
  79 + connection_timeout: "${TB_QUEUE_RABBIT_MQ_CONNECTION_TIMEOUT:60000}"
  80 + handshake_timeout: "${TB_QUEUE_RABBIT_MQ_HANDSHAKE_TIMEOUT:10000}"
  81 + partitions:
  82 + hash_function_name: "${TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME:murmur3_128}"
  83 + virtual_nodes_size: "${TB_QUEUE_PARTITIONS_VIRTUAL_NODES_SIZE:16}"
53 84 transport_api:
54   - requests_topic: "${TB_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}"
55   - responses_topic: "${TB_TRANSPORT_API_RESPONSE_TOPIC:tb.transport.api.responses}"
56   - max_pending_requests: "${TB_TRANSPORT_MAX_PENDING_REQUESTS:10000}"
57   - max_requests_timeout: "${TB_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}"
58   - response_poll_interval: "${TB_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}"
59   - response_auto_commit_interval: "${TB_TRANSPORT_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}"
60   - rule_engine:
61   - topic: "${TB_RULE_ENGINE_TOPIC:tb.rule-engine}"
62   - notifications:
63   - topic: "${TB_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}"
64   - poll_interval: "${TB_TRANSPORT_NOTIFICATIONS_POLL_INTERVAL_MS:25}"
65   - auto_commit_interval: "${TB_TRANSPORT_NOTIFICATIONS_AUTO_COMMIT_INTERVAL_MS:100}"
  85 + requests_topic: "${TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}"
  86 + responses_topic: "${TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC:tb.transport.api.responses}"
  87 + max_pending_requests: "${TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS:10000}"
  88 + max_requests_timeout: "${TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}"
  89 + max_callback_threads: "${TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS:100}"
  90 + request_poll_interval: "${TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS:25}"
  91 + response_poll_interval: "${TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}"
  92 + core:
  93 + topic: "${TB_QUEUE_CORE_TOPIC:tb.core}"
  94 + poll-interval: "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}"
  95 + partitions: "${TB_QUEUE_CORE_PARTITIONS:10}"
  96 + pack-processing-timeout: "${TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS:60000}"
  97 + stats:
  98 + enabled: "${TB_QUEUE_CORE_STATS_ENABLED:false}"
  99 + print-interval-ms: "${TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS:10000}"
  100 + js:
  101 + # JS Eval request topic
  102 + request_topic: "${REMOTE_JS_EVAL_REQUEST_TOPIC:js.eval.requests}"
  103 + # JS Eval responses topic prefix that is combined with node id
  104 + response_topic_prefix: "${REMOTE_JS_EVAL_RESPONSE_TOPIC:js.eval.responses}"
  105 + # JS Eval max pending requests
  106 + max_pending_requests: "${REMOTE_JS_MAX_PENDING_REQUESTS:10000}"
  107 + # JS Eval max request timeout
  108 + max_requests_timeout: "${REMOTE_JS_MAX_REQUEST_TIMEOUT:10000}"
  109 + # JS response poll interval
  110 + response_poll_interval: "${REMOTE_JS_RESPONSE_POLL_INTERVAL_MS:25}"
  111 + # JS response auto commit interval
  112 + response_auto_commit_interval: "${REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}"
  113 + rule-engine:
  114 + topic: "${TB_QUEUE_RULE_ENGINE_TOPIC:tb.rule-engine}"
  115 + poll-interval: "${TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS:25}"
  116 + pack-processing-timeout: "${TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS:60000}"
  117 + stats:
  118 + enabled: "${TB_QUEUE_RULE_ENGINE_STATS_ENABLED:true}"
  119 + print-interval-ms: "${TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS:10000}"
  120 + queues:
  121 + - name: "Main"
  122 + topic: "${TB_QUEUE_RE_MAIN_TOPIC:tb.rule-engine.main}"
  123 + poll-interval: "${TB_QUEUE_RE_MAIN_POLL_INTERVAL_MS:25}"
  124 + partitions: "${TB_QUEUE_RE_MAIN_PARTITIONS:10}"
  125 + pack-processing-timeout: "${TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS:60000}"
  126 + submit-strategy:
  127 + type: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_TYPE:BURST}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
  128 + # For BATCH only
  129 + batch-size: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_BATCH_SIZE:1000}" # Maximum number of messages in batch
  130 + processing-strategy:
  131 + type: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_TYPE:RETRY_FAILED_AND_TIMED_OUT}" # SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
  132 + # For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
  133 + retries: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRIES:3}" # Number of retries, 0 is unlimited
  134 + failure-percentage: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages;
  135 + pause-between-retries: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRY_PAUSE:3}"# Time in seconds to wait in consumer thread before retries;
  136 + - name: "${TB_QUEUE_RE_HP_QUEUE_NAME:HighPriority}"
  137 + topic: "${TB_QUEUE_RE_HP_TOPIC:tb.rule-engine.hp}"
  138 + poll-interval: "${TB_QUEUE_RE_HP_POLL_INTERVAL_MS:25}"
  139 + partitions: "${TB_QUEUE_RE_HP_PARTITIONS:3}"
  140 + pack-processing-timeout: "${TB_QUEUE_RE_HP_PACK_PROCESSING_TIMEOUT_MS:60000}"
  141 + submit-strategy:
  142 + type: "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_TYPE:SEQUENTIAL_WITHIN_ORIGINATOR}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
  143 + # For BATCH only
  144 + batch-size: "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_BATCH_SIZE:100}" # Maximum number of messages in batch
  145 + processing-strategy:
  146 + type: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_TYPE:RETRY_FAILED_AND_TIMED_OUT}" # SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
  147 + # For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
  148 + retries: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRIES:0}" # Number of retries, 0 is unlimited
  149 + failure-percentage: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages;
  150 + pause-between-retries: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRY_PAUSE:5}"# Time in seconds to wait in consumer thread before retries;
  151 + transport:
  152 + # For high priority notifications that require minimum latency and processing time
  153 + notifications_topic: "${TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}"
  154 + poll_interval: "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}"
  155 +
  156 +service:
  157 + type: "${TB_SERVICE_TYPE:tb-transport}"
  158 + # Unique id for this service (autogenerated if empty)
  159 + id: "${TB_SERVICE_ID:}"
  160 + tenant_id: "${TB_SERVICE_TENANT_ID:}" # empty or specific tenant id.
\ No newline at end of file
... ...