Prechádzať zdrojové kódy

upgrade data saving in ControlCmd

00ll00 5 rokov pred
rodič
commit
2b05f8b5c6

+ 1 - 0
src/main/kotlin/bot_luo_core/bot/BotLuo.kt

@@ -263,6 +263,7 @@ object BotLuo {
     }
 
     fun saveAll() {
+        Data.savingJobs.keys.forEach { it.saveJob?.cancel(CancellationException("Saving All")) }
         Data.savingJobs.values.forEach { it.invoke() }
         Data.savingJobs.clear()
     }

+ 1 - 2
src/main/kotlin/bot_luo_core/cli/commands/ControlCmd.kt

@@ -23,8 +23,7 @@ class ControlCmd(context: CmdContext) : Cmd(context) {
 
     @Method(name = "s", alias = [], pmsLevel = CmdPermissionLevel.OP, title = "保存")
     fun save (): CmdReceipt {
-        Users.saveAll()
-        Groups.saveAll()
+        BotLuo.saveAll()
         context.print("数据已保存")
         return SUCCESS
     }

+ 1 - 1
src/main/kotlin/bot_luo_core/data/Data.kt

@@ -33,7 +33,7 @@ abstract class Data(
     private val saveAndUnload: Boolean
 ) : Mutex by Mutex() {
 
-    private var saveJob: Job? = null
+    internal var saveJob: Job? = null
 
     abstract val element: JsonElement