public Collector(MailBoxManager manager, MailQueueSettings settings, List <MessageHandlerBase> message_handlers) { _log = LoggerFactory.GetLogger(LoggerFactory.LoggerType.Nlog, "Collector"); Environment.SetEnvironmentVariable("MONO_TLS_SESSION_CACHE_TIMEOUT", "0"); _manager = manager; _settings = settings; _itemManger = new MailItemManager(_manager, message_handlers); _queue = new MailWorkerQueue(settings.ConcurrentThreadCount, settings.CheckInterval, this); _log.Info("MailWorkerQueue: ConcurrentThreadCount = {0} and CheckInterval = {1}", settings.ConcurrentThreadCount, settings.CheckInterval); var config_builder = new TasksConfig.Builder(); if (settings.WorkOnUsersOnly != null && settings.WorkOnUsersOnly.Any()) { var i = 0; var users = string.Empty; settings.WorkOnUsersOnly.ForEach(user => users += string.Format("\r\n\t\t\t\t{0}. \"{1}\"", ++i, user)); _log.Info("Aggreagtor will get tasks for this users only:" + users); } config_builder.SetUsersToWorkOn(settings.WorkOnUsersOnly); config_builder.SetOnlyTeamlabTasks(settings.OnlyTeamlabTasks); config_builder.SetActiveInterval(settings.ActivityTimeout); _tasksConfig = config_builder.Build(); }
public Collector(MailBoxManager manager, MailQueueSettings settings) { _log = LogManager.GetLogger("Collector"); _manager = manager; _settings = settings; _itemManger = new MailItemManager(_manager); _queue = new MailWorkerQueue(settings.ConcurrentThreadCount, settings.CheckInterval, this); _log.Info("MailWorkerQueue: ConcurrentThreadCount = {0} and CheckInterval = {1}", settings.ConcurrentThreadCount, settings.CheckInterval); }
public static MailQueueItem CreateItemForAccount(MailBox account, MailItemManager manager) { var item = new MailQueueItem(account); item.GetStoredMessagesUidlMd5 += manager.GetStoredMessagesUIDL_MD5; item.OnRetrieveNewMessage += manager.OnRetrieveNewMessage; item.OnUpdateUidl += manager.OnUpdateUidl; item.OnAuthSucceed += manager.OnAuthSucceed; item.OnAuthFailed += manager.OnAuthFailed; item.OnDone += manager.OnDone; item.OnTimeCheckedUpdate += manager.OnCheckedTimeUpdate; item.OnGetOrCreateTags += manager.OnGetOrCreateTags; item.OnUpdateMessagesTags += manager.OnUpdateMessagesTags; return item; }
public static MailQueueItem CreateItemForAccount(MailBox account, MailItemManager manager) { var item = new MailQueueItem(account); item.GetStoredMessagesUidlMd5 += manager.GetStoredMessagesUIDL_MD5; item.OnRetrieveNewMessage += manager.OnRetrieveNewMessage; item.OnUpdateUidl += manager.OnUpdateUidl; item.OnAuthSucceed += manager.OnAuthSucceed; item.OnAuthFailed += manager.OnAuthFailed; item.OnDone += manager.OnDone; item.OnTimeCheckedUpdate += manager.OnCheckedTimeUpdate; item.OnGetOrCreateTags += manager.OnGetOrCreateTags; item.OnUpdateMessagesTags += manager.OnUpdateMessagesTags; return(item); }
public Collector(MailBoxManager manager, MailQueueSettings settings, List <MessageHandlerBase> message_handlers) { _log = LoggerFactory.GetLogger(LoggerFactory.LoggerType.Nlog, "Collector"); _manager = manager; _settings = settings; _itemManger = new MailItemManager(_manager, message_handlers); _queue = new MailWorkerQueue(settings.ConcurrentThreadCount, settings.CheckInterval, this); _log.Info("MailWorkerQueue: ConcurrentThreadCount = {0} and CheckInterval = {1}", settings.ConcurrentThreadCount, settings.CheckInterval); if (settings.WorkOnUsersOnly != null && settings.WorkOnUsersOnly.Any()) { var i = 0; var users = string.Empty; settings.WorkOnUsersOnly.ForEach(user => users += string.Format("\r\n\t\t\t\t{0}. \"{1}\"", ++i, user)); _log.Info("Aggreagtor will get tasks for this users only:" + users); } }
public Collector(MailBoxManager manager, MailQueueSettings settings, List<MessageHandlerBase> message_handlers) { _log = LoggerFactory.GetLogger(LoggerFactory.LoggerType.Nlog, "Collector"); _manager = manager; _settings = settings; _itemManger = new MailItemManager(_manager, message_handlers); _queue = new MailWorkerQueue(settings.ConcurrentThreadCount, settings.CheckInterval, this); _log.Info("MailWorkerQueue: ConcurrentThreadCount = {0} and CheckInterval = {1}", settings.ConcurrentThreadCount, settings.CheckInterval); if (settings.WorkOnUsersOnly != null && settings.WorkOnUsersOnly.Any()) { var i = 0; var users = string.Empty; settings.WorkOnUsersOnly.ForEach(user => users += string.Format("\r\n\t\t\t\t{0}. \"{1}\"", ++i, user)); _log.Info("Aggreagtor will get tasks for this users only:" + users); } }