using Aitex.Core.RT.Routine; using MECF.Framework.Common.Jobs; using System.Collections.Generic; using VirgoRT.Scheduler; namespace VirgoRT.Modules { public partial class AutoTransfer { private bool _isInited; private void InitClean() { foreach (var pm in _lstPms) { pm.InitClean(); } } private void ClearCleanInfo() { foreach (var pm in _lstPms) { pm.ResetClean(true, true, true); } } public void ResetIdleCleanTime(string module) { if (string.IsNullOrEmpty(module)) { foreach (var schedulerPm in _lstPms) { schedulerPm.ResetIdleCleanTime(); } } else { SchedulerPM pm = _lstPms.Find(x => x.Module.ToString() == module); if (pm != null) { pm.ResetIdleCleanTime(); } } } public void ResetIdlePurgeTime(string module) { if (string.IsNullOrEmpty(module)) { foreach (var schedulerPm in _lstPms) { schedulerPm.ResetIdlePurgeTime(); } } else { SchedulerPM pm = _lstPms.Find(x => x.Module.ToString() == module); if (pm != null) { pm.ResetIdlePurgeTime(); } } } public Result MonitorCleanTasks() { if (!_isInited) { _isInited = true; InitClean(); } foreach (var pm in _lstPms) { pm.MonitorCleanTasks(); } return Result.RUN; } private void PreJobClean(ControlJobInfo cj) { if (cj.IsPreJobCleanDone) return; cj.IsPreJobCleanDone = true; List pms = GetPmNeeded(cj); foreach (var pm in pms) { pm.PreJobClean(); } } //private void PreJobClean(ProcessJobInfo pj) //{ // List pms = GetPmNeeded(pj); // foreach (var pm in pms) // { // pm.PreJobClean(); // } //} private void CompleteJobClean(ControlJobInfo cj) { List pms = GetPmNeeded(cj); foreach (var pm in pms) { pm.CompleteJobClean(); } } } }