mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-22 02:53:09 +00:00
add gc service
This commit is contained in:
26
service/garbagecollect.lua
Normal file
26
service/garbagecollect.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
local skynet = require "skynet"
|
||||
local ssm = require "skynet.ssm"
|
||||
|
||||
local function ssm_info()
|
||||
return ssm.info()
|
||||
end
|
||||
|
||||
local function collect()
|
||||
local info = {}
|
||||
while true do
|
||||
while ssm.collect(false, info) do
|
||||
skynet.error(string.format("Collect %d strings from %s", info.n, info.key))
|
||||
end
|
||||
-- ssm.collect(true)
|
||||
skynet.sleep(50)
|
||||
end
|
||||
end
|
||||
|
||||
skynet.start(function()
|
||||
if ssm.disable then
|
||||
skynet.error "Short String Map (SSM) Disabled"
|
||||
skynet.exit()
|
||||
end
|
||||
skynet.info_func(ssm_info)
|
||||
skynet.fork(collect)
|
||||
end)
|
||||
Reference in New Issue
Block a user