Mercurial > prosody-modules
annotate mod_s2s_reload_newcomponent/mod_s2s_reload_newcomponent.lua @ 560:b62f5e38f865
mod_register_json: added auto-cleanup logic to the module so it can at least be unloaded and reloaded without fuss. (Experimental: works with server_select and trunk)
author | Marco Cirillo <maranda@lightwitch.org> |
---|---|
date | Tue, 17 Jan 2012 00:57:47 +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 |