mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-22 19:13:07 +00:00
44 lines
1004 B
Lua
44 lines
1004 B
Lua
local skynet = require "skynet"
|
|
local harbor = require "skynet.harbor"
|
|
|
|
skynet.start(function()
|
|
local standalone = skynet.getenv "standalone"
|
|
|
|
local launcher = assert(skynet.launch("snlua","launcher"))
|
|
skynet.name(".launcher", launcher)
|
|
|
|
local harbor_id = tonumber(skynet.getenv "harbor")
|
|
if harbor_id == 0 then
|
|
assert(standalone == nil)
|
|
standalone = true
|
|
skynet.setenv("standalone", "true")
|
|
|
|
local slave = skynet.newservice "cdummy"
|
|
if slave == nil then
|
|
skynet.abort()
|
|
end
|
|
skynet.name(".slave", slave)
|
|
|
|
else
|
|
if standalone then
|
|
if not skynet.newservice "cmaster" then
|
|
skynet.abort()
|
|
end
|
|
end
|
|
|
|
local slave = skynet.newservice "cslave"
|
|
if slave == nil then
|
|
skynet.abort()
|
|
end
|
|
skynet.name(".slave", slave)
|
|
end
|
|
|
|
if standalone then
|
|
local datacenter = assert(skynet.newservice "datacenterd")
|
|
skynet.name("DATACENTER", datacenter)
|
|
end
|
|
assert(skynet.newservice "service_mgr")
|
|
assert(skynet.newservice(skynet.getenv "start" or "main"))
|
|
skynet.exit()
|
|
end)
|