RabbitMQSettings.h 1.9 KB
Newer Older
K
kssenii 已提交
1
#pragma once
2

3
#include <Core/BaseSettings.h>
K
kssenii 已提交
4
#include <Core/Settings.h>
5

K
kssenii 已提交
6 7 8 9 10
namespace DB
{
    class ASTStorage;


K
kssenii 已提交
11
#define RABBITMQ_RELATED_SETTINGS(M) \
12 13 14
    M(String, rabbitmq_host_port, "", "A host-port to connect to RabbitMQ server.", 0) \
    M(String, rabbitmq_exchange_name, "clickhouse-exchange", "The exchange name, to which messages are sent.", 0) \
    M(String, rabbitmq_format, "", "The message format.", 0) \
K
kssenii 已提交
15 16
    M(String, rabbitmq_exchange_type, "default", "The exchange type.", 0) \
    M(String, rabbitmq_routing_key_list, "5672", "A string of routing keys, separated by dots.", 0) \
17
    M(Char, rabbitmq_row_delimiter, '\0', "The character to be considered as a delimiter.", 0) \
18
    M(String, rabbitmq_schema, "", "Schema identifier (used by schema-based formats) for RabbitMQ engine", 0) \
19 20
    M(UInt64, rabbitmq_num_consumers, 1, "The number of consumer channels per table.", 0) \
    M(UInt64, rabbitmq_num_queues, 1, "The number of queues per consumer.", 0) \
K
Merge  
kssenii 已提交
21 22
    M(String, rabbitmq_queue_base, "", "Base for queue names to be able to reopen non-empty queues in case of failure.", 0) \
    M(String, rabbitmq_deadletter_exchange, "", "Exchange name to be passed as a dead-letter-exchange name.", 0) \
K
kssenii 已提交
23
    M(Bool, rabbitmq_persistent, false, "If set, delivery mode will be set to 2 (makes messages 'persistent', durable).", 0) \
K
kssenii 已提交
24
    M(UInt64, rabbitmq_skip_broken_messages, 0, "Skip at least this number of broken messages from RabbitMQ per block", 0) \
K
kssenii 已提交
25 26
    M(UInt64, rabbitmq_max_block_size, 0, "Number of row collected before flushing data from RabbitMQ.", 0) \
    M(Milliseconds, rabbitmq_flush_interval_ms, 0, "Timeout for flushing data from RabbitMQ.", 0) \
K
kssenii 已提交
27

K
kssenii 已提交
28 29 30 31
#define LIST_OF_RABBITMQ_SETTINGS(M) \
    RABBITMQ_RELATED_SETTINGS(M) \
    FORMAT_FACTORY_SETTINGS(M)

K
kssenii 已提交
32
DECLARE_SETTINGS_TRAITS(RabbitMQSettingsTraits, LIST_OF_RABBITMQ_SETTINGS)
K
kssenii 已提交
33

34 35
struct RabbitMQSettings : public BaseSettings<RabbitMQSettingsTraits>
{
K
kssenii 已提交
36
    void loadFromQuery(ASTStorage & storage_def);
37
};
K
kssenii 已提交
38
}