提交 6b9dec0a authored 作者: blu's avatar blu

big refacting of communitation architect

上级 dddd65df
...@@ -184,35 +184,29 @@ class EvDaemon{ ...@@ -184,35 +184,29 @@ class EvDaemon{
} }
int startSubSystems() { int startSubSystems() {
// TODO: check configuratin modified subsystem and force start // check status and startup
int ret = 0; int ret = 0;
json keyPids = json(); vector<string> tmp;
json keyConfig = json();
for(auto &[k,v]: this->peerData["config"].items()) { for(auto &[k,v]: this->peerData["config"].items()) {
keyConfig.push_back(k); if(this->peerData["status"].count(k) == 0 || this->peerData["status"][k] == 0) {
tmp.push_back(k);
}
} }
for(auto &[k, v]: this->peerData["pids"].items()) { //
keyPids.push_back(k);
}
json diff = json::diff(keyPids, keyConfig); for(string &e : tmp) {
spdlog::info("evdaemon {} key diff: {}", devSn, diff.dump()); pid_t pid = 0;
ret = zmqhelper::forkSubsystem(devSn, e, portRouter, pid);
// int ret = 0; if(0 == ret) {
// if(this->peerData["pids"].count(peerId) != 0 && force) { this->peerData["status"][e] = chrono::duration_cast<chrono::seconds>(chrono::system_clock::now().time_since_epoch()).count();
// kill(this->peerData["pids"][peerId], SIGTERM); this->peerData["pids"][e] = pid;
// }else if(this->peerData["pids"].count(peerId) == 0) { spdlog::info("evdaemon {} created subsystem {}", devSn, e);
// pid_t pid; }else{
// ret = zmqhelper::forkSubsystem(devSn, peerId, portRouter, pid); spdlog::info("evdaemon {} failed to create subsystem {}", devSn, e);
// if(ret != 0) { }
// spdlog::error("evdaemon {} failed to fork subsystem: {}", devSn, peerId); }
// }
// this->peerData["pids"][peerId] = pid;
// spdlog::info("evdaemon {} created subsystem {}", devSn, peerId);
// }else{
// }
return ret; return ret;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论