Fix: Too many config read/write in Stored.clear()

This commit is contained in:
LmeSzinc 2024-06-17 02:34:37 +08:00
parent 4f214ee7a2
commit 048abcfde4
2 changed files with 22 additions and 19 deletions

View File

@ -510,12 +510,13 @@ class AzurLaneConfig(ConfigUpdater, ManualConfig, GeneratedConfig, ConfigWatcher
Raises:
TaskEnd: Call task `DailyQuest` and stop current task
"""
if self.stored.DailyActivity.is_expired():
logger.info('DailyActivity expired')
self.stored.DailyActivity.clear()
if self.stored.DailyQuest.is_expired():
logger.info('DailyQuest expired')
self.stored.DailyQuest.clear()
with self.multi_set():
if self.stored.DailyActivity.is_expired():
logger.info('DailyActivity expired')
self.stored.DailyActivity.clear()
if self.stored.DailyQuest.is_expired():
logger.info('DailyQuest expired')
self.stored.DailyQuest.clear()
def update_battle_pass_quests(self):
"""

View File

@ -290,12 +290,13 @@ class StoredDaily(StoredCounter, StoredExpiredAt0400):
self.quest6 = ''
def clear(self):
self.quest1 = ''
self.quest2 = ''
self.quest3 = ''
self.quest4 = ''
self.quest5 = ''
self.quest6 = ''
with self._config.multi_set():
self.quest1 = ''
self.quest2 = ''
self.quest3 = ''
self.quest4 = ''
self.quest5 = ''
self.quest6 = ''
class StoredDungeonDouble(StoredExpiredAt0400):
@ -380,13 +381,14 @@ class StoredBattlePassWeeklyQuest(StoredCounter, StoredExpiredAtMonday0400):
self.quest7 = ''
def clear(self):
self.quest1 = ''
self.quest2 = ''
self.quest3 = ''
self.quest4 = ''
self.quest5 = ''
self.quest6 = ''
self.quest7 = ''
with self._config.multi_set():
self.quest1 = ''
self.quest2 = ''
self.quest3 = ''
self.quest4 = ''
self.quest5 = ''
self.quest6 = ''
self.quest7 = ''
class StoredBattlePassSimulatedUniverse(StoredCounter):