added service.memory_collector_time to configure backend collection basend on highest memory usage. By default this feature is deactivated
This commit is contained in:
parent
6d96d5725b
commit
85600b449f
3 changed files with 11 additions and 6 deletions
|
@ -12,8 +12,8 @@ admin_password=test
|
|||
#cert_password=test #password to that certificate if any
|
||||
users_per_backend=10
|
||||
backend=/home/hanzz/code/libtransport/backends/libpurple/spectrum2_libpurple_backend
|
||||
#backend=/home/hanzz/code/libtransport/backends/frotz/spectrum_frotz_backend
|
||||
#backend=../../backends/libircclient-qt/spectrum_libircclient-qt_backend
|
||||
#backend=/home/hanzz/code/libtransport/backends/frotz/spectrum2_frotz_backend
|
||||
#backend=../../backends/libircclient-qt/spectrum2_libircclient-qt_backend
|
||||
#protocol=prpl-msn
|
||||
protocol=any
|
||||
#protocol=prpl-icq
|
||||
|
|
|
@ -67,6 +67,7 @@ bool Config::load(std::istream &ifs, boost::program_options::options_description
|
|||
("service.admin_password", value<std::string>()->default_value(""), "Administrator password.")
|
||||
("service.reuse_old_backends", value<bool>()->default_value(true), "True if Spectrum should use old backends which were full in the past.")
|
||||
("service.idle_reconnect_time", value<int>()->default_value(0), "Time in seconds after which idle users are reconnected to let their backend die.")
|
||||
("service.memory_collector_time", value<int>()->default_value(0), "Time in seconds after which backend with most memory is set to die.")
|
||||
("service.more_resources", value<bool>()->default_value(false), "Allow more resources to be connected in server mode at the same time.")
|
||||
("service.enable_privacy_lists", value<bool>()->default_value(true), "")
|
||||
("identity.name", value<std::string>()->default_value("Spectrum 2 Transport"), "Name showed in service discovery.")
|
||||
|
|
|
@ -217,9 +217,11 @@ NetworkPluginServer::NetworkPluginServer(Component *component, Config *config, U
|
|||
m_pingTimer->onTick.connect(boost::bind(&NetworkPluginServer::pingTimeout, this));
|
||||
m_pingTimer->start();
|
||||
|
||||
m_collectTimer = component->getNetworkFactories()->getTimerFactory()->createTimer(2*3600000);
|
||||
m_collectTimer->onTick.connect(boost::bind(&NetworkPluginServer::collectBackend, this));
|
||||
m_collectTimer->start();
|
||||
if (CONFIG_INT(m_config, "service.memory_collector_time") != 0) {
|
||||
m_collectTimer = component->getNetworkFactories()->getTimerFactory()->createTimer(CONFIG_INT(m_config, "service.memory_collector_time"));
|
||||
m_collectTimer->onTick.connect(boost::bind(&NetworkPluginServer::collectBackend, this));
|
||||
m_collectTimer->start();
|
||||
}
|
||||
|
||||
m_vcardResponder = new VCardResponder(component->getIQRouter(), component->getNetworkFactories(), userManager);
|
||||
m_vcardResponder->onVCardRequired.connect(boost::bind(&NetworkPluginServer::handleVCardRequired, this, _1, _2, _3));
|
||||
|
@ -736,7 +738,9 @@ void NetworkPluginServer::collectBackend() {
|
|||
}
|
||||
|
||||
if (backend) {
|
||||
m_collectTimer->start();
|
||||
if (m_collectTimer) {
|
||||
m_collectTimer->start();
|
||||
}
|
||||
LOG4CXX_INFO(logger, "Backend " << backend << "is set to die");
|
||||
backend->acceptUsers = false;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue