代码拉取完成,页面将自动刷新
#include <iostream>
#include <unistd.h>
#include <map>
#include "log.h"
#include "test_available.h"
using namespace std;
std::string URL = "http://192.168.1.200:11183/test_available";
int main(int argc,char *argv[])
{
if (argc < 2) {
printf("usage: %s URL\n", argv[0]);
return -1;
} else {
URL = argv[1];
}
std::string home = getenv("HOME");
std::string path = home + "/detect/targets.json";
std::string log_path = home + "/detect/log_web_client.txt";
tnet::Log g_log(log_path.c_str());
g_log.setLevel(tnet::Log::TRACE);
g_log.trace(__FILE__, __FUNCTION__, __LINE__,
"start");
std::map<std::string, int> state;
while (true) {
Json::FastWriter writer;
Json::Value root;
parse_json_stream(path, root);
std::size_t size = root.size();
for (int i = 0; i < size; ++i) {
std::string body = writer.write(root[i]);
std::string cmd = root[i]["restart_cmd"].asString();
std::string service = root[i]["service"].asString();
std::string tel = root[i]["tel"].asString();
int status = query_status(URL, {}, body);
g_log.trace(__FILE__, __FUNCTION__, __LINE__,
"service: %s, status: %d\n", service.c_str(), status);
if (status > 0) {
state[service]++;
system(cmd.c_str());
} else {
state[service] = 0;
}
if (state[service] > 1) {
g_log.warn(__FILE__, __FUNCTION__, __LINE__,
"service restart exception: %s, tel: %s\n", service.c_str(), tel.c_str());
string msg = service + " 重启异常,请尽快登录查看";
sms("192.168.30.17", tel.c_str(), msg.c_str(), nullptr);
}
}
sleep(120);
}
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。