| | |
| | | private var analysisTimer: Timer? = null |
| | | |
| | | // 定时污染分析任务 |
| | | private val analysisOnTimeTask = object : TimerTask() { |
| | | override fun run() { |
| | | // 记录任务运行状态 |
| | | analysisTaskIsRunning = true |
| | | analysis() |
| | | // 记录上一次的任务结束时间 |
| | | lastAnalysisTime = LocalDateTime.now() |
| | | analysisTaskIsRunning = false |
| | | } |
| | | } |
| | | private var lastAnalysisOnTimeTask:TimerTask? = null |
| | | |
| | | // 定时污染分析任务运行状态 |
| | | private var analysisTaskIsRunning = false |
| | |
| | | private fun resetAnalysisOnTime() { |
| | | // 取消原有的分析任务计时 |
| | | analysisTimer?.cancel() |
| | | lastAnalysisOnTimeTask?.cancel() |
| | | // 以当前时间为起点,重新开始新的一轮等待计时 |
| | | analysisTimer = Timer() |
| | | val period = config.analysisPeriod * 60 * 1000L |
| | | analysisTimer?.schedule(analysisOnTimeTask, period, period) |
| | | lastAnalysisOnTimeTask = newAnalysisTask() |
| | | analysisTimer?.schedule(lastAnalysisOnTimeTask, period, period) |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | private fun analysisOnClueCount() { |
| | | if (clueList.size >= config.analysisCount && !analysisTaskIsRunning) { |
| | | analysisOnTimeTask.run() |
| | | newAnalysisTask().run() |
| | | resetAnalysisOnTime() |
| | | } |
| | | } |
| | |
| | | // TODO() |
| | | } |
| | | |
| | | // 定时污染分析任务 |
| | | private fun newAnalysisTask(): TimerTask { |
| | | return object : TimerTask() { |
| | | override fun run() { |
| | | // 记录任务运行状态 |
| | | analysisTaskIsRunning = true |
| | | analysis() |
| | | // 记录上一次的任务结束时间 |
| | | lastAnalysisTime = LocalDateTime.now() |
| | | analysisTaskIsRunning = false |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |