12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package main_backup
- // 注册到etcd 的 rest 服务
- import (
- _ "hello_rpc/routers"
- "os"
- "strconv"
- "github.com/astaxie/beego"
- "github.com/docopt/docopt-go"
- "gogs.ywtinfo.com/ywtgo/tools/rpccore"
- )
- const (
- FrameworkVersion = "1.0"
- )
- var usage = `Usage: agent [-c config_file] [-L log_file] [--log-level=<loglevel>] [--etcd=127.0.0.1:2379[,127.0.0.2:2379]] [-p 3000] [--app-env=default] [--host=127.0.0.1] [--redis-addr=127.0.0.1:6379]
- Options:
- -c set config file
- -L set output log file, default is publisher.log
- -p set listen port
- -h --help Show this screen.
- -V --version Show version.
- --etcd=<127.0.0.1:2379> set the etcd address.
- --app-env=default set starting env.
- --host set reg host.
- --redis-addr=<127.0.0.1:6379> set redis address.
- `
- func main() {
- registerRestServerTest()
- beego.Run()
- }
- // ------------- rest server start -----------------------------
- func registerRestServerTest() {
- arguments, err := docopt.Parse(usage, nil, true, FrameworkVersion, true)
- if err != nil {
- os.Exit(1)
- }
- etcdAddress := "127.0.0.1:2379"
- if etcdAddressTemp := arguments["--etcd"]; etcdAddressTemp != nil {
- etcdAddress = etcdAddressTemp.(string)
- }
- port := 10087
- if protTemp := arguments["-p"]; protTemp != nil {
- pStr := protTemp.(string)
- port, _ = strconv.Atoi(pStr)
- }
- host := os.Getenv("LOCAL_IP")
- if host == "" {
- host = "127.0.0.1"
- }
- if hostTemp := arguments["--host"]; hostTemp != nil {
- host = hostTemp.(string)
- }
- appEnv := "default"
- if appEnvTemp := arguments["--app-env"]; appEnvTemp != nil {
- appEnv = appEnvTemp.(string)
- }
- // fmt.Println(logFile, configFile, etcdAddress, port, host, redisAddr)
- gs := rpccore.NewEtcdRegistry(appEnv, []string{etcdAddress})
- gs.AddRestService("com.ywt.GoUserService", host, int(port))
- gs.Register()
- }
- // ------------- end rest server -----------------------------
|