Mercurial > prosody-modules
annotate mod_s2s_reload_newcomponent/mod_s2s_reload_newcomponent.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 | 7487f8b47662 |
children | fe5bb7b13a59 |
rev | line source |
---|---|
213
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
1 local modulemanager = require "core.modulemanager"; |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
2 local config = require "core.configmanager"; |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
3 |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
4 module.host = "*"; |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
5 |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
6 local function reload_components() |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
7 local defined_hosts = config.getconfig(); |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
8 |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
9 for host in pairs(defined_hosts) do |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
10 if (not hosts[host] and host ~= "*") then |
214
7487f8b47662
mod_s2s_reload_newcomponent: fix debug logs
Gaurav <gauravsri@gmail.com>
parents:
213
diff
changeset
|
11 module:log ("debug", "loading new component %s", host); |
213
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
12 modulemanager.load(host, configmanager.get(host, "core", "component_module")); |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
13 end |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
14 end; |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
15 |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
16 return; |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
17 end |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
18 |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
19 module:hook("config-reloaded", reload_components); |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
20 |