Cai Yudong 21e986d130 support config cli (#742)
* #665 support get/set config via CLI

* #665 support get/set config via CLI

* #665 add unittest for config CLI

* #665 remove config_node_map_

* #665 remove config_node_map_

* #665 fix clang-format

* #665 fix clang-format

* #665 update changelog

* #665 code clean

* #665 update API interface

* #665 update API interface

* #665 handle server status

* #665 handle unknown command

* #665 update debug log

* #665 support get/set config via CLI

* #665 support get/set config via CLI

* #665 add unittest for config CLI

* #665 remove config_node_map_

* #665 remove config_node_map_

* #665 fix clang-format

* #665 fix clang-format

* #665 update changelog

* #665 code clean

* #665 update API interface

* #665 update API interface

* #665 handle server status

* #665 handle unknown command

* #665 update debug log
2019-12-14 17:01:56 +08:00

67 lines
2.2 KiB
C++

// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
#include "server/delivery/request/CmdRequest.h"
#include "scheduler/SchedInst.h"
#include "utils/Log.h"
#include "utils/TimeRecorder.h"
#include <memory>
namespace milvus {
namespace server {
CmdRequest::CmdRequest(const std::shared_ptr<Context>& context, const std::string& cmd, std::string& result)
: BaseRequest(context, INFO_REQUEST_GROUP), cmd_(cmd), result_(result) {
}
BaseRequestPtr
CmdRequest::Create(const std::shared_ptr<Context>& context, const std::string& cmd, std::string& result) {
return std::shared_ptr<BaseRequest>(new CmdRequest(context, cmd, result));
}
Status
CmdRequest::OnExecute() {
std::string hdr = "CmdRequest(cmd=" + cmd_ + ")";
TimeRecorderAuto rc(hdr);
Status stat = Status::OK();
if (cmd_ == "version") {
result_ = MILVUS_VERSION;
} else if (cmd_ == "status") {
result_ = "OK";
} else if (cmd_ == "tasktable") {
result_ = scheduler::ResMgrInst::GetInstance()->DumpTaskTables();
} else if (cmd_ == "mode") {
#ifdef MILVUS_GPU_VERSION
result_ = "GPU";
#else
result_ = "CPU";
#endif
} else if (cmd_.substr(0, 3) == "set" || cmd_.substr(0, 3) == "get") {
server::Config& config = server::Config::GetInstance();
stat = config.HandleConfigCli(result_, cmd_);
} else {
result_ = "Unknown command";
}
return stat;
}
} // namespace server
} // namespace milvus