diff --git a/src/box/lua/load_cfg.lua b/src/box/lua/load_cfg.lua index 7aa58e49697f5b5bb66058867af2e8e73e55014f..6743b23da7998e9fa98aa90ae65135bd6413a8c2 100644 --- a/src/box/lua/load_cfg.lua +++ b/src/box/lua/load_cfg.lua @@ -52,7 +52,7 @@ local default_cfg = { coredump = false, -- snap_daemon - snapshot_period = 3600 * 4, + snapshot_period = 0, -- 0 = disabled snapshot_count = 6, } diff --git a/src/box/lua/snapshot_daemon.lua b/src/box/lua/snapshot_daemon.lua index b482cc53c42aa144640aa462737b561cca0e5f12..6dc9cff6ee46bdec3935cb5a6696c63e855e87ca 100644 --- a/src/box/lua/snapshot_daemon.lua +++ b/src/box/lua/snapshot_daemon.lua @@ -183,15 +183,22 @@ do log.info("%s", self.status) while true do local interval = next_snap_interval() - fiber.sleep(interval) - if self.status ~= 'started' then - break - end - local s, e = pcall(process) + if interval ~= nil then + fiber.sleep(interval) + if self.status ~= 'started' then + break + end - if not s then - log.error(e) + local s, e = pcall(process) + + if not s then + log.error(e) + end + else + -- daemon is disabled + -- do nothing, waiting for change event wakes us up + fiber.sleep(3600 * 24 * 365 * 100) end end log.info("%s", self.status)