123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- --[[
- Descripttion:
- version:
- Author: Neo,Huang
- Date: 2022-07-04 11:24:54
- LastEditors: Neo,Huang
- LastEditTime: 2022-07-05 09:51:27
- --]]
- local skynet = require "skynet"
- local sharetable = require "skynet.sharetable"
- local machine = {}
- function machine.init()
- local data = {}
- local mode = skynet.getenv("mode")
- data["debug"] = (mode and mode == "debug")
- local file = skynet.getenv("machine_conf")
- local f = assert(io.open(file, "rb"), file)
- for line in f:lines() do
- if string.find(line, "^(%s*)#") == nil then
- for k, _, _, v in string.gmatch(line, "([%w_]+)(%s*)=(%s*)([%p%w_.]+)") do
- data[k] = v
- end
- end
- end
- local key = string.format("%s_debugport", skynet.getenv("nodeName"))
- data["debugport"] = skynet.getenv("debugport") or data[key]
- data["gateport"] = skynet.getenv("gate_listen_port") or data["gate_listen_port"]
- data["webport"] = skynet.getenv("web_listen_port") or data["web_listen_port"]
- local weight = skynet.getenv("weight") or data[string.format("%s_weight", skynet.getenv("nodeName"))]
- data["weight"] = tonumber(weight)
- f:close()
- sharetable.loadtable("machine", data)
- end
- function machine.get(k)
- local data = sharetable.query("machine")
- assert(data)
- return data[k] or skynet.getenv(k)
- end
- return machine
|