The man xml registry is already reloaded using the method described. In fact the xml root has reference counting and everyone who was on the old one will be able to hold on to that root until they release it even when a new one has been loaded into place.
I think if you pursue the custom C module with the XML hook, that you can put your same logic into a module and not bother the core as any access to the core xml will be redirected to your module callback where you can do whatever you want and not disturb the core of FS unless you have some kind of functionality that is useful to everyone in general.
You may be able to develop it as well but it will not solve our problem of pushing configuration fast We have a front end that pushes the configuration changes and it needs to be fast, so even if we change it in the background it will be slow
On Tue, Oct 23, 2012 at 2:03 PM, Puskás Zsolt <errotan@elder.hu> wrote:
I'm not an expert ( correct me if I'm wrong ) but I suppose the
xml config memory section is locked while the files are proccessed
so other modules are waiting for it. Instead of loading just one
file you could continue to load all the files into somekind of a
new temporary config section without locking the main. Once the
files are loaded and processed the temporary and main section
could be swapped or the temporary is used and the other is deleted
from memory. No idea how many time this could take to implement.
2012-10-23 02:56 keltezéssel, Yiftach Golan írta:
Hi FreeSWITCH community,
My name is Yiftah and I am working for ChooChee which is a hosted
PBX solution company
We have been using FreeSWITCH for almost 2 years and we added a
lot of code changes to the core and to the different modules
Lately we have made a decision to get more close to the community
so that we can enjoy the bug fixes and the new feature from the
community and we can contribute our knowledge and bug fixes
I would please like to start with a very basic question :
We are using dialplan xmls in order to load the configuration, we
have a lot of users on each freeswitch (+4k), it took a very long
time for the configuration to load (around 5 minutes) during this
time no new calls could be served by FreeSWITCH
In order to solve this problem we introduce reload xml that
accepts file names and has the ability to load just one file name
into the memory (we achieved 10ms loading time instead of 5
minutes)
The problem is that we had to introduce a lot of code in order to
solve this problem, has anyone else encounter this problem? we do
not want to use mod_xml_curl as we want to take care bringing the
file to the machine
Another approach that we thought is that a database might be much
better fit in here, because every xml update includes the entire
tenant (business) and has the potential in harming other users in
the same tenant, also DB has much higher capacities then XMLs, did
anyone think of enabling MySQL as a directory of parameters
instead of xml?
Thanks,
Yiftach.