feat: optimize task impl

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2020-09-22 18:42:39 +08:00
parent 3ee2dcad0b
commit d7247bae19
9 changed files with 167 additions and 90 deletions

View File

@@ -0,0 +1,16 @@
import { plugin, task } from '@ccms/api'
import { provideSingleton, inject } from '@ccms/container'
@provideSingleton(PluginTaskManager)
export class PluginTaskManager {
@inject(task.TaskManager)
private taskManager: task.TaskManager
constructor() {
process.on('plugin.after.disable', (plugin: plugin.Plugin) => this.cancelTask(plugin))
}
private cancelTask(pluginInstance: plugin.Plugin) {
this.taskManager.disable(pluginInstance)
}
}