@ -63,7 +63,7 @@ transport:
max_string_value_length : "${JSON_MAX_STRING_VALUE_LENGTH:0}"
queue:
type : "${TB_QUEUE_TYPE:kafka }" # kafka or aws-sqs or pubsub or service-bus
type : "${TB_QUEUE_TYPE:in-memory }" # kafka or in-memory or aws-sqs or pubsub or service-bus
kafka:
bootstrap.servers : "${TB_KAFKA_SERVERS:localhost:9092}"
acks : "${TB_KAFKA_ACKS:all}"
@ -111,12 +111,25 @@ queue:
response_poll_interval : "${TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}"
core:
topic : "${TB_QUEUE_CORE_TOPIC:tb.core}"
poll_ interval : "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}"
poll- interval : "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}"
partitions : "${TB_QUEUE_CORE_PARTITIONS:10}"
pack_processing_ timeout : "${TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS:60000}"
pack-processing- timeout : "${TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS:60000}"
stats:
enabled : "${TB_QUEUE_CORE_STATS_ENABLED:false}"
print_interval_ms : "${TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS:10000}"
print-interval-ms : "${TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS:10000}"
js:
# JS Eval request topic
request_topic : "${REMOTE_JS_EVAL_REQUEST_TOPIC:js.eval.requests}"
# JS Eval responses topic prefix that is combined with node id
response_topic_prefix : "${REMOTE_JS_EVAL_RESPONSE_TOPIC:js.eval.responses}"
# JS Eval max pending requests
max_pending_requests : "${REMOTE_JS_MAX_PENDING_REQUESTS:10000}"
# JS Eval max request timeout
max_requests_timeout : "${REMOTE_JS_MAX_REQUEST_TIMEOUT:10000}"
# JS response poll interval
response_poll_interval : "${REMOTE_JS_RESPONSE_POLL_INTERVAL_MS:25}"
# JS response auto commit interval
response_auto_commit_interval : "${REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}"
rule-engine:
topic : "${TB_QUEUE_RULE_ENGINE_TOPIC:tb.rule-engine}"
poll-interval : "${TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS:25}"
@ -124,32 +137,39 @@ queue:
stats:
enabled : "${TB_QUEUE_RULE_ENGINE_STATS_ENABLED:true}"
print-interval-ms : "${TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS:10000}"
queues: # TODO 2.5 : specify correct ENV variable names.
-
name : "Main"
topic : "${TB_QUEUE_RULE_ENGINE_TOPIC:tb.rule-engine.main}"
poll-interval : "${TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS:25}"
partitions : "${TB_QUEUE_RULE_ENGINE_PARTITIONS:10}"
pack-processing-timeout : "${TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS:60000}"
ack-strategy:
type : "${TB_QUEUE_RULE_ENGINE_STRATEGY_TYPE:RETRY_FAILED_AND_TIMED_OUT}" # SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queues:
- name : "Main"
topic : "${TB_QUEUE_RE_MAIN_TOPIC:tb.rule-engine.main}"
poll-interval : "${TB_QUEUE_RE_MAIN_POLL_INTERVAL_MS:25}"
partitions : "${TB_QUEUE_RE_MAIN_PARTITIONS:10}"
pack-processing-timeout : "${TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS:60000}"
submit-strategy:
type : "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_TYPE:BURST}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
# For BATCH only
batch-size : "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_BATCH_SIZE:1000}" # Maximum number of messages in batch
processing-strategy:
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
# For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
retries : "${TB_QUEUE_RULE_ENGINE_STRATEGY_RETRIES:3}" # Number of retries, 0 is unlimited
failure-percentage : "${TB_QUEUE_RULE_ENGINE_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages;
pause-between-retries : "${TB_QUEUE_RULE_ENGINE_STRATEGY_RETRY_PAUSE:3}" # Time in seconds to wait in consumer thread before retries;
-
name : "HighPriority"
topic : "${TB_QUEUE_RULE_ENGINE_TOPIC:tb.rule-engine.hp}"
poll-interval : "${TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS:25}"
partitions : "${TB_QUEUE_RULE_ENGINE_PARTITIONS:3}"
pack-processing-timeout : "${TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS:60000}"
ack-strategy:
type : "${TB_QUEUE_RULE_ENGINE_STRATEGY_TYPE:RETRY_FAILED_AND_TIMED_OUT}" # SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
retries : "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRIES:3}" # Number of retries, 0 is unlimited
failure-percentage : "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages;
pause-between-retries : "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRY_PAUSE:3}" # Time in seconds to wait in consumer thread before retries;
- name : "${TB_QUEUE_RE_HP_QUEUE_NAME:HighPriority}"
topic : "${TB_QUEUE_RE_HP_TOPIC:tb.rule-engine.hp}"
poll-interval : "${TB_QUEUE_RE_HP_POLL_INTERVAL_MS:25}"
partitions : "${TB_QUEUE_RE_HP_PARTITIONS:3}"
pack-processing-timeout : "${TB_QUEUE_RE_HP_PACK_PROCESSING_TIMEOUT_MS:60000}"
submit-strategy:
type : "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_TYPE:SEQUENTIAL_WITHIN_ORIGINATOR}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
# For BATCH only
batch-size : "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_BATCH_SIZE:100}" # Maximum number of messages in batch
processing-strategy:
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
# For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
retries : "${TB_QUEUE_RULE_ENGINE_STRATEGY_RETRIES:0}" # Number of retries, 0 is unlimited
failure-percentage : "${TB_QUEUE_RULE_ENGINE_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages;
pause-between-retries : "${TB_QUEUE_RULE_ENGINE_STRATEGY_RETRY_PAUSE:1 }" # Time in seconds to wait in consumer thread before retries;
retries : "${TB_QUEUE_RE_HP_PROC ESSI NG_STRATEGY_RETRIES:0}" # Number of retries, 0 is unlimited
failure-percentage : "${TB_QUEUE_RE_HP_PROC ESSI NG_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages;
pause-between-retries : "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRY_PAUSE:5 }" # Time in seconds to wait in consumer thread before retries;
transport:
# For high priority notifications that require minimum latency and processing time
notifications_topic : "${TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}"
poll_interval : "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}"