mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-22 02:53:09 +00:00
service manager
This commit is contained in:
23
service/service_mgr.lua
Normal file
23
service/service_mgr.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
local skynet = require "skynet"
|
||||
|
||||
local service = {}
|
||||
|
||||
local function query(service_name, ...)
|
||||
local s = service[service_name]
|
||||
if s == nil then
|
||||
s = skynet.newservice(service_name, ...)
|
||||
service[service_name] = s
|
||||
end
|
||||
return s
|
||||
end
|
||||
|
||||
skynet.start(function()
|
||||
skynet.dispatch("lua", function(session, address, service_name , ...)
|
||||
local handle = query(service_name, ...)
|
||||
skynet.ret(skynet.pack(handle))
|
||||
end)
|
||||
skynet.register(".service")
|
||||
if skynet.getenv "standalone" then
|
||||
skynet.register("SERVICE")
|
||||
end
|
||||
end)
|
||||
Reference in New Issue
Block a user