Cleanup old hg sessions (older than 2 days)
parent
e33ac50388
commit
b0140383da
|
@ -54,5 +54,6 @@ namespace OpenSim.Data
|
||||||
HGTravelingData[] GetSessions(UUID userID);
|
HGTravelingData[] GetSessions(UUID userID);
|
||||||
bool Store(HGTravelingData data);
|
bool Store(HGTravelingData data);
|
||||||
bool Delete(UUID sessionID);
|
bool Delete(UUID sessionID);
|
||||||
|
void DeleteOld();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -66,5 +66,15 @@ namespace OpenSim.Data.MySQL
|
||||||
return Delete("SessionID", sessionID.ToString());
|
return Delete("SessionID", sessionID.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void DeleteOld()
|
||||||
|
{
|
||||||
|
using (MySqlCommand cmd = new MySqlCommand())
|
||||||
|
{
|
||||||
|
cmd.CommandText = String.Format("delete from {0} where TMStamp < NOW() - INTERVAL 2 DAY", m_Realm);
|
||||||
|
|
||||||
|
ExecuteNonQuery(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -9,6 +9,7 @@ CREATE TABLE `hg_traveling_data` (
|
||||||
`ServiceToken` VARCHAR(255) NOT NULL DEFAULT '',
|
`ServiceToken` VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
`ClientIPAddress` VARCHAR(16) NOT NULL DEFAULT '',
|
`ClientIPAddress` VARCHAR(16) NOT NULL DEFAULT '',
|
||||||
`MyIPAddress` VARCHAR(16) NOT NULL DEFAULT '',
|
`MyIPAddress` VARCHAR(16) NOT NULL DEFAULT '',
|
||||||
|
`TMStamp` timestamp NOT NULL,
|
||||||
PRIMARY KEY (`SessionID`),
|
PRIMARY KEY (`SessionID`),
|
||||||
KEY (`UserID`)
|
KEY (`UserID`)
|
||||||
) ENGINE=InnoDB;
|
) ENGINE=InnoDB;
|
||||||
|
|
|
@ -207,6 +207,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
{
|
{
|
||||||
m_GatekeeperConnector = new GatekeeperServiceConnector(scene.AssetService);
|
m_GatekeeperConnector = new GatekeeperServiceConnector(scene.AssetService);
|
||||||
m_UAS = scene.RequestModuleInterface<IUserAgentService>();
|
m_UAS = scene.RequestModuleInterface<IUserAgentService>();
|
||||||
|
if (m_UAS == null)
|
||||||
|
m_UAS = new UserAgentServiceConnector(m_ThisHomeURI);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -573,12 +576,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
if (uMan != null && uMan.IsLocalGridUser(obj.AgentId))
|
if (uMan != null && uMan.IsLocalGridUser(obj.AgentId))
|
||||||
{
|
{
|
||||||
// local grid user
|
// local grid user
|
||||||
|
m_UAS.LogoutAgent(obj.AgentId, obj.SessionId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
AgentCircuitData aCircuit = ((Scene)(obj.Scene)).AuthenticateHandler.GetAgentCircuitData(obj.CircuitCode);
|
AgentCircuitData aCircuit = ((Scene)(obj.Scene)).AuthenticateHandler.GetAgentCircuitData(obj.CircuitCode);
|
||||||
|
if (aCircuit != null && aCircuit.ServiceURLs != null && aCircuit.ServiceURLs.ContainsKey("HomeURI"))
|
||||||
if (aCircuit.ServiceURLs.ContainsKey("HomeURI"))
|
|
||||||
{
|
{
|
||||||
string url = aCircuit.ServiceURLs["HomeURI"].ToString();
|
string url = aCircuit.ServiceURLs["HomeURI"].ToString();
|
||||||
IUserAgentService security = new UserAgentServiceConnector(url);
|
IUserAgentService security = new UserAgentServiceConnector(url);
|
||||||
|
|
|
@ -148,6 +148,9 @@ namespace OpenSim.Services.HypergridService
|
||||||
if (!m_GridName.EndsWith("/"))
|
if (!m_GridName.EndsWith("/"))
|
||||||
m_GridName = m_GridName + "/";
|
m_GridName = m_GridName + "/";
|
||||||
|
|
||||||
|
// Finally some cleanup
|
||||||
|
m_Database.DeleteOld();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue