|
|
@@ -1,5 +1,6 @@
|
|
|
const LoggerKit = require('../kit/logger-kit')
|
|
|
const log4js = require('log4js')
|
|
|
+const TimeKit = require('../kit/time-kit')
|
|
|
|
|
|
class Task {
|
|
|
context
|
|
|
@@ -7,6 +8,7 @@ class Task {
|
|
|
name
|
|
|
logger
|
|
|
fileLogger
|
|
|
+ running = true
|
|
|
|
|
|
constructor(taskName, delayTime, initFun, onTickFun) {
|
|
|
this.name = taskName
|
|
|
@@ -42,17 +44,20 @@ class Task {
|
|
|
await this.init()
|
|
|
|
|
|
this.logger.info(`Dida dida dida, on tick, on tick...`)
|
|
|
- this.interval = setInterval(async () => {
|
|
|
+
|
|
|
+ while (task.running) {
|
|
|
try {
|
|
|
await task.onTick()
|
|
|
} catch (e) {
|
|
|
task.fileLogger.error(e)
|
|
|
}
|
|
|
- }, this.delayTime)
|
|
|
+
|
|
|
+ await TimeKit.sleep(task.delayTime)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
async Stop() {
|
|
|
- clearInterval(this.interval)
|
|
|
+ this.running = false
|
|
|
}
|
|
|
}
|
|
|
|