Commit b1662c97 authored by jan.koester's avatar jan.koester
Browse files

test

parent eec4af64
Loading
Loading
Loading
Loading
+24 −13
Original line number Diff line number Diff line
@@ -110,7 +110,12 @@ blogi::Blogi::Blogi(std::vector<netplus::socket*> serversocket,bool debug) : Htt

        std::cerr << "Initializing domain '" << dcfg.name << "' with DB Driver: " << dcfg.dbDriver << " on " << dcfg.dbConnection << std::endl;

        const int maxRetries = 10;
        const int retrySec = 3;

        for (int attempt = 1; attempt <= maxRetries; attempt++) {
            try {
                ctx.plgArgs->database.clear();
                for (int i = 0; i < threads; i++) {
                    auto db = std::make_unique<dbpp::ReplicatedDatabase>(dcfg.dbDriver, dcfg.dbConnection);
                    for (const auto &rep : dcfg.dbReplicas) {
@@ -123,10 +128,16 @@ blogi::Blogi::Blogi(std::vector<netplus::socket*> serversocket,bool debug) : Htt
                    }
                    ctx.plgArgs->database.emplace_back(std::move(db));
                }
                break;
            } catch(std::runtime_error &e) {
            std::cerr << "can't connect db for domain '" << dcfg.name << "' reason: " << e.what() << std::endl;
                std::cerr << "can't connect db for domain '" << dcfg.name << "' (attempt " << attempt << "/" << maxRetries << "): " << e.what() << std::endl;
                if (attempt == maxRetries) {
                    throw e;
                }
                std::cerr << "  retrying in " << retrySec << "s..." << std::endl;
                sleep(retrySec);
            }
        }

        std::unique_ptr<dbpp::ReplicatedDatabase> initdb = std::make_unique<dbpp::ReplicatedDatabase>(dcfg.dbDriver, dcfg.dbConnection);
        for (const auto &rep : dcfg.dbReplicas) {