mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-01 14:10:50 +00:00
41 lines
720 B
C++
41 lines
720 B
C++
|
#pragma once
|
||
|
|
||
|
#include <Interpreters/Context.h>
|
||
|
#include <common/logger_useful.h>
|
||
|
|
||
|
#include <atomic>
|
||
|
#include <chrono>
|
||
|
#include <condition_variable>
|
||
|
#include <mutex>
|
||
|
#include <thread>
|
||
|
|
||
|
namespace DB
|
||
|
{
|
||
|
|
||
|
class DDLWorker
|
||
|
{
|
||
|
public:
|
||
|
DDLWorker(const Poco::Util::AbstractConfiguration & config,
|
||
|
const std::string & config_name, Context & context_);
|
||
|
~DDLWorker();
|
||
|
|
||
|
private:
|
||
|
void processTasks();
|
||
|
void processCreate(const std::string & path);
|
||
|
|
||
|
void run();
|
||
|
|
||
|
private:
|
||
|
Context & context;
|
||
|
Logger * log = &Logger::get("DDLWorker");
|
||
|
|
||
|
std::string host_task_queue_path;
|
||
|
|
||
|
std::atomic<bool> stop_flag;
|
||
|
std::condition_variable cond_var;
|
||
|
std::mutex lock;
|
||
|
std::thread thread;
|
||
|
};
|
||
|
|
||
|
}
|