From 441cdb5b2e25f96cf843a43da0c9e2bafa832f00 Mon Sep 17 00:00:00 2001 From: Ian Roddis Date: Tue, 31 Aug 2021 17:04:03 -0300 Subject: [PATCH] Renaming rest_server to daggyd, and daggy to libdaggy --- daggy/CMakeLists.txt | 2 +- tests/CMakeLists.txt | 2 +- utils/CMakeLists.txt | 2 +- utils/{rest_server => daggyd}/CMakeLists.txt | 4 +- utils/daggyd/daggyd.cpp | 66 ++++++++++++++++++++ utils/rest_server/rest_server.cpp | 51 --------------- 6 files changed, 71 insertions(+), 56 deletions(-) rename utils/{rest_server => daggyd}/CMakeLists.txt (77%) create mode 100644 utils/daggyd/daggyd.cpp delete mode 100644 utils/rest_server/rest_server.cpp diff --git a/daggy/CMakeLists.txt b/daggy/CMakeLists.txt index 8975a19..735f300 100644 --- a/daggy/CMakeLists.txt +++ b/daggy/CMakeLists.txt @@ -1,4 +1,4 @@ -project(daggy) +project(libdaggy) file(GLOB_RECURSE SOURCES src/*.cpp) add_library(${PROJECT_NAME} STATIC ${SOURCES}) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index fee069f..4b1a0f0 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -2,4 +2,4 @@ project(tests) file(GLOB UNIT_TESTS unit_*.cpp) file(GLOB INTEGRATION_TESTS int_*.cpp) add_executable(tests main.cpp ${UNIT_TESTS} ${INTEGRATION_TESTS}) -target_link_libraries(tests daggy stdc++fs Catch2::Catch2) \ No newline at end of file +target_link_libraries(tests libdaggy stdc++fs Catch2::Catch2) \ No newline at end of file diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt index bcfa9b9..8957481 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -1 +1 @@ -add_subdirectory(rest_server) \ No newline at end of file +add_subdirectory(daggyd) \ No newline at end of file diff --git a/utils/rest_server/CMakeLists.txt b/utils/daggyd/CMakeLists.txt similarity index 77% rename from utils/rest_server/CMakeLists.txt rename to utils/daggyd/CMakeLists.txt index c6aeeae..d5e83cc 100644 --- a/utils/rest_server/CMakeLists.txt +++ b/utils/daggyd/CMakeLists.txt @@ -1,4 +1,4 @@ -project(rest_server) +project(daggyd) file(GLOB SOURCES *.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) -target_link_libraries(${PROJECT_NAME} pistache stdc++fs rapidjson argparse daggy) \ No newline at end of file +target_link_libraries(${PROJECT_NAME} pistache stdc++fs rapidjson argparse libdaggy) \ No newline at end of file diff --git a/utils/daggyd/daggyd.cpp b/utils/daggyd/daggyd.cpp new file mode 100644 index 0000000..dffd09d --- /dev/null +++ b/utils/daggyd/daggyd.cpp @@ -0,0 +1,66 @@ +#include +#include + +#include + +#include + +// Add executors here +#include + +// Add loggers here +#include + +int main(int argc, char **argv) { + argparse::ArgumentParser args("Daggy"); + + args.add_argument("-v", "--verbose") + .default_value(false) + .implicit_value(true); + args.add_argument("-d", "--daemon") + .default_value(false) + .implicit_value(true); + args.add_argument("--ip") + .help("IP address to listen to") + .default_value("localhost"); + args.add_argument("--log-file") + .help("File to log to.") + .default_value("daggyd.log"); + args.add_argument("--port") + .help("Port to listen to") + .default_value(2503) + .action([](const std::string &value) { return std::stoi(value); }); + args.add_argument("--dag-threads") + .help("Number of DAGs to run concurrently") + .default_value(10) + .action([](const std::string &value) { return std::stoull(value); }); + args.add_argument("--web-threads") + .help("Number of web requests to support concurrently") + .default_value(30) + .action([](const std::string &value) { return std::stoull(value); }); + args.add_argument("--executor-threads") + .help("Number of tasks to run concurrently") + .default_value(30) + .action([](const std::string &value) { return std::stoull(value); }); + + try { + args.parse_args(argc, argv); + } catch (std::exception &e) { + std::cout << "Error: " << e.what() << std::endl; + std::cout << args; + exit(1); + } + + std::ofstream logFile(args.get("--log-file"), std::ios::app); + daggy::loggers::dag_run::OStreamLogger logger(logFile); + daggy::executors::task::ForkingTaskExecutor executor(args.get("--executor-threads")); + Pistache::Address listenSpec(args.get("--ip"), args.get("--port")); + + daggy::Server server(listenSpec, logger, executor, args.get("--dag-threads")); + server.init(args.get("--web-threads")); + server.start(); + std::cout << "Server running at http://localhost:2503, Ctrl-C to exit" << std::endl; + while (true) { + std::this_thread::sleep_for(std::chrono::seconds(30)); + } +} diff --git a/utils/rest_server/rest_server.cpp b/utils/rest_server/rest_server.cpp deleted file mode 100644 index ccb3934..0000000 --- a/utils/rest_server/rest_server.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include -#include - -#include - -#include - -// Add executors here -#include - -// Add loggers here -#include - -struct Options { - std::string listenIP = "localhost"; - fs::path logFile = "daggy.log"; - uint16_t listenPort = 2503; - size_t webThreads = 50; - size_t dagThreads = 20; - size_t taskThreads = 20; -}; - -int main(int argc, char **argv) { - /* - Options options; - - argparse::ArgumentParser args("Daggy"); - - args.add_argument("-v", "--verbose"); - args.add_argument("-c", "--config") - .help("Config file"); - args.add_argument("--ip") - .help("IP address to listen to"); - args.add_argument("--port") - .help("Port to listen to") - .action([](const std::string &value) { return std::stoi(value); }); - */ - - std::ofstream logFile("daggy.log", std::ios::app); - daggy::loggers::dag_run::OStreamLogger logger(logFile); - daggy::executors::task::ForkingTaskExecutor executor(32); - Pistache::Address listenSpec("localhost", 2503); - - daggy::Server server(listenSpec, logger, executor, 25); - server.init(25); - server.start(); - std::cout << "Server running at http://localhost:2503, Ctrl-C to exit" << std::endl; - while (true) { - std::this_thread::sleep_for(std::chrono::seconds(30)); - } -}