public void UpdatePlayerSummaryDatabase(bool _Force = false)
 {
     lock (m_LockObject)
     {
         if (_Force == true || ((DateTime.UtcNow - m_LastPlayerSummaryDatabaseUpdateTime).TotalHours > 8 &&
                                DateTime.UtcNow.Hour > 10 && DateTime.UtcNow.Hour < 14 &&
                                DateTime.UtcNow.DayOfWeek != DayOfWeek.Sunday &&
                                DateTime.UtcNow.DayOfWeek != DayOfWeek.Monday &&
                                DateTime.UtcNow.DayOfWeek != DayOfWeek.Wednesday &&
                                DateTime.UtcNow.DayOfWeek != DayOfWeek.Thursday))
         {
             Logger.ConsoleWriteLine("Armory: Started Creating Player Summary Databases", ConsoleColor.Green);
             var timer = System.Diagnostics.Stopwatch.StartNew();
             VF_RPDatabase.PlayerSummaryDatabase playerSummaryDB = new VF_RPDatabase.PlayerSummaryDatabase();
             foreach (var realm in Database.ALL_REALMS)
             {
                 if (Database.SKIP_REALM_TAGS.Contains(realm))
                 {
                     continue;
                 }
                 GC.Collect();
                 Database fullDatabase = new Database(m_RPPDBFolder + "Database\\", new DateTime(2012, 5, 1, 0, 0, 0), new WowRealm[] { realm });
                 fullDatabase.PurgeRealmDBs(true, true, true);
                 playerSummaryDB.UpdateRealm(fullDatabase.GetRealm(realm));
                 Logger.ConsoleWriteLine("Armory: Updated Player Summary Database for realm " + realm, ConsoleColor.Green);
             }
             playerSummaryDB.SaveSummaryDatabase(m_RPPDBFolder);
             Logger.ConsoleWriteLine("Armory: Done Creating Player Summary Database, it took " + (timer.ElapsedMilliseconds / 1000) + " seconds", ConsoleColor.Green);
             m_LastPlayerSummaryDatabaseUpdateTime = DateTime.UtcNow;
         }
     }
     GC.Collect();
 }
 public VF_RPDatabase.PlayerSummaryDatabase GetPlayerSummaryDatabase()
 {
     return(DynamicReloader.GetData <VF_RPDatabase.PlayerSummaryDatabase>(() =>
     {
         VF_RPDatabase.PlayerSummaryDatabase summaryDB = null;
         summaryDB = VF_RPDatabase.PlayerSummaryDatabase.LoadSummaryDatabase(Constants.RPPDbDir);
         return summaryDB;
     }, (_RaidCollection, _LastLoadTime) => { return (DateTime.UtcNow - _LastLoadTime).TotalMinutes > 60; }));
 }
Beispiel #3
0
 public void UpdatePlayerSummaryDatabase(bool _Force = false)
 {
     lock (m_LockObject)
     {
         if (_Force == true || (DateTime.UtcNow - m_LastPlayerSummaryDatabaseUpdateTime).TotalHours > 6)
         {
             var timer = System.Diagnostics.Stopwatch.StartNew();
             VF_RPDatabase.PlayerSummaryDatabase playerSummaryDB = new VF_RPDatabase.PlayerSummaryDatabase();
             foreach (var realm in Database.ALL_REALMS)
             {
                 Database fullDatabase = new Database(m_RPPDBFolder + "Database\\", new DateTime(2012, 5, 1, 0, 0, 0), new WowRealm[] { realm });
                 fullDatabase.PurgeRealmDBs(true, true, true);
                 playerSummaryDB.UpdateRealm(fullDatabase.GetRealm(realm));
             }
             playerSummaryDB.SaveSummaryDatabase(m_RPPDBFolder);
             Logger.ConsoleWriteLine("Done Creating Player Summary Database, it took " + (timer.ElapsedMilliseconds / 1000) + " seconds", ConsoleColor.Green);
             m_LastPlayerSummaryDatabaseUpdateTime = DateTime.UtcNow;
         }
     }
     GC.Collect();
 }