示例#1
0
        public MailGarbageEngine(MailGarbageEraserConfig config, ILog log = null)
        {
            Config = config;

            Log = log ?? LogManager.GetLogger("ASC.Mail.GarbageEngine");

            TenantMemCache = new MemoryCache("GarbageEraserTenantCache");

            var scheduler = new LimitedConcurrencyLevelTaskScheduler(Config.MaxTasksAtOnce);

            TaskFactory = new TaskFactory(scheduler);

            Locker = new object();
        }
        public StorageCleanerService()
        {
            CanStop = true;

            AutoLog = true;

            XmlConfigurator.Configure();

            _log = LoggerFactory.GetLogger(LoggerFactory.LoggerType.Log4Net, "MailCleaner");

            _resetEvent = new ManualResetEvent(false);

            _tsInterval = TimeSpan.FromMinutes(Convert.ToInt32(ConfigurationManager.AppSettings["cleaner.timer-wait-minutes"]));

            var config = MailGarbageEraserConfig.FromConfig();

            _log.Info("Service will clear mail storage every {0} minutes\r\n", _tsInterval.TotalMinutes);

            _eraser = new MailGarbageEraser(config, _log);
        }
示例#3
0
 public MailGarbageEngine(ILog log = null)
     : this(MailGarbageEraserConfig.FromConfig(), log)
 {
 }