comparison mod_reload_modules/mod_reload_modules.lua @ 313:524f22ef2c2b

mod_reload_modules: Module to, erm, reload modules, on SIGHUP/config reload
author Matthew Wild <mwild1@gmail.com>
date Sat, 08 Jan 2011 18:16:14 +0000
parents
children aad0b2df9e6b
comparison
equal deleted inserted replaced
312:31deafcbf623 313:524f22ef2c2b
1 local mm = require "core.modulemanager";
2
3 local function reload_module(name)
4 local ok, err = mm.reload(module.host, name);
5 if ok then
6 module:log("debug", "Reloaded %s", name);
7 else
8 module:log("error", "Failed to reload %s: %s", name, err);
9 end
10 end
11
12 prosody.events.add_handler("config-reloaded", function ()
13 local modules = module:get_option_array("reload_modules");
14 if not modules then
15 module:log("warn", "No modules listed in the config to reload - set reload_modules to a list");
16 return;
17 end
18 for _, module in ipairs(modules) do
19 reload_module(module);
20 end
21 end);