You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
184 lines
6.0 KiB
184 lines
6.0 KiB
#include <iostream>
|
|
#include <thread>
|
|
#include <chrono>
|
|
using namespace std;
|
|
using namespace chrono;
|
|
|
|
#include "../lib/mysql.hpp"
|
|
using namespace marcelb::mysql;
|
|
|
|
#include "../../asynco/lib/asynco.hpp"
|
|
#include "../../asynco/lib/timers.hpp"
|
|
using namespace marcelb::asynco;
|
|
|
|
int main() {
|
|
auto inis = rtime_ms();
|
|
try {
|
|
// MySQL mydb("tcp://192.168.2.10:3306", "dinio", "H€r5elfInd1aH@nds", "dinio", 5, time_loop_type::internal);
|
|
MySQL mydb("tcp://bitelex.ddns.net:3306", "dinio", "H€r5elfInd1aH@nds", "dinio", 12, time_loop_type::external);
|
|
// MySQL mydb("tcp://bitelex.ddns.net:3306", "dinio", "H€r5elfInd1aH@nds", "dinio", 5);
|
|
|
|
cout << "init: " << rtime_ms() - inis << endl;
|
|
|
|
mydb.on_error = [](const string& error) {
|
|
cout << error << endl;
|
|
};
|
|
|
|
periodic mysql_tloop ( [&mydb] () {
|
|
try {
|
|
auto start = rtime_ms();
|
|
mydb.tloop();
|
|
cout << "loop--------------------------- nema error, trajalo: " << rtime_ms() - start << endl;
|
|
} catch (...) {
|
|
cout << "Bude neki error u loopu" << endl;
|
|
}
|
|
}, 2000);
|
|
|
|
while (true) {
|
|
sleep(60);
|
|
|
|
auto start = high_resolution_clock::now();
|
|
|
|
auto a1 = nonsync ( [&mydb] () {
|
|
try {
|
|
auto response = mydb.exec<int,string>("SELECT id,domain FROM records WHERE enabled = 1;");
|
|
cout << response.affected << " " << response.have_result << endl;
|
|
cout << response.rows << " " << response.columns << endl;
|
|
|
|
for (auto row : response) {
|
|
cout << get<0>(row) << " " << get<1>(row) << endl;
|
|
}
|
|
|
|
for (auto column_name : response.columns_name) {
|
|
cout << column_name << endl;
|
|
}
|
|
|
|
} catch (const SQLException error) {
|
|
cout << error.what() << endl;
|
|
}
|
|
});
|
|
|
|
auto a2 = nonsync ( [&mydb] () {
|
|
try {
|
|
auto response = mydb.exec<string,string>("SELECT zonename,auth_key FROM zones;");
|
|
cout << response.affected << " " << response.have_result << endl;
|
|
cout << response.rows << " " << response.columns << endl;
|
|
|
|
for (auto row : response) {
|
|
cout << get<0>(row) << " " << get<1>(row) << endl;
|
|
}
|
|
|
|
for (auto column_name : response.columns_name) {
|
|
cout << column_name << endl;
|
|
}
|
|
|
|
} catch (const SQLException error) {
|
|
cout << error.what() << endl;
|
|
}
|
|
});
|
|
|
|
auto a3 = nonsync ( [&mydb] () {
|
|
try {
|
|
auto response = mydb.exec<string,string>("SELECT username,email FROM users WHERE enabled = 1;");
|
|
cout << response.affected << " " << response.have_result << endl;
|
|
cout << response.rows << " " << response.columns << endl;
|
|
|
|
for (auto row : response) {
|
|
cout << get<0>(row) << " " << get<1>(row) << endl;
|
|
}
|
|
|
|
for (auto column_name : response.columns_name) {
|
|
cout << column_name << endl;
|
|
}
|
|
|
|
} catch (const SQLException error) {
|
|
cout << error.what() << endl;
|
|
}
|
|
});
|
|
|
|
auto a4 = nonsync ( [&mydb] () {
|
|
try {
|
|
auto response = mydb.exec<int,string>("SELECT id,domain FROM records WHERE enabled = 1;");
|
|
cout << response.affected << " " << response.have_result << endl;
|
|
cout << response.rows << " " << response.columns << endl;
|
|
|
|
for (auto row : response) {
|
|
cout << get<0>(row) << " " << get<1>(row) << endl;
|
|
}
|
|
|
|
for (auto column_name : response.columns_name) {
|
|
cout << column_name << endl;
|
|
}
|
|
|
|
} catch (const SQLException error) {
|
|
cout << error.what() << endl;
|
|
}
|
|
});
|
|
|
|
auto a5 = nonsync ( [&mydb] () {
|
|
try {
|
|
auto response = mydb.exec<string,string>("SELECT zonename,auth_key FROM zones;");
|
|
cout << response.affected << " " << response.have_result << endl;
|
|
cout << response.rows << " " << response.columns << endl;
|
|
|
|
for (auto row : response) {
|
|
cout << get<0>(row) << " " << get<1>(row) << endl;
|
|
}
|
|
|
|
for (auto column_name : response.columns_name) {
|
|
cout << column_name << endl;
|
|
}
|
|
|
|
} catch (const SQLException error) {
|
|
cout << error.what() << endl;
|
|
}
|
|
});
|
|
|
|
auto a6 = nonsync ( [&mydb] () {
|
|
try {
|
|
auto response = mydb.exec<string,string>("SELECT username,email FROM users WHERE enabled = 1;");
|
|
cout << response.affected << " " << response.have_result << endl;
|
|
cout << response.rows << " " << response.columns << endl;
|
|
|
|
for (auto row : response) {
|
|
cout << get<0>(row) << " " << get<1>(row) << endl;
|
|
}
|
|
|
|
for (auto column_name : response.columns_name) {
|
|
cout << column_name << endl;
|
|
}
|
|
|
|
} catch (const SQLException error) {
|
|
cout << error.what() << endl;
|
|
}
|
|
});
|
|
|
|
wait(a1);
|
|
wait(a2);
|
|
wait(a3);
|
|
wait(a4);
|
|
wait(a5);
|
|
wait(a6);
|
|
|
|
|
|
auto end = high_resolution_clock::now();
|
|
auto duration = duration_cast<microseconds>(end - start);
|
|
cout << "-------------Izvršilo se za: " << (double)(duration.count() / 1000.0) << " ms"<< endl;
|
|
|
|
|
|
}
|
|
sleep(100);
|
|
|
|
} catch (const SQLException error) {
|
|
cout << error.what() << endl;
|
|
} catch (const string error) {
|
|
cout << error << endl;
|
|
} catch (...) {
|
|
cout << "Jebi ga" << endl;
|
|
}
|
|
|
|
// sleep(600);
|
|
_asynco_engine.run();
|
|
|
|
return 0;
|
|
} |