public CollectorService() { this.ServiceName = AscMailCollectionServiceName; this.EventLog.Log = "Application"; // These Flags set whether or not to handle that specific // type of event. Set to true if you need it, false otherwise. this.CanHandlePowerEvent = false; this.CanHandleSessionChangeEvent = false; this.CanPauseAndContinue = false; this.CanShutdown = true; this.CanStop = true; try { _log = LogManager.GetLogger("CollectorService"); _log.Info("Connecting to db..."); _manger = new MailBoxManager(ConfigurationManager.ConnectionStrings["mail"], 25); _log.Info("Creating collector service..."); _collector = new Collector(_manger, MailQueueSettings.FromConfig); _log.Info("Service is ready."); AggregatorLogger.Instance.Initialize(_manger, GetServiceIp()); _log.Info("Aggregator logger initialized."); } catch (Exception ex) { _log.Fatal("CollectorService error under constuct: {0}", ex.ToString()); } }
public CollectorService(IEnumerable<string> work_on_this_users_only = null) { ServiceName = asc_mail_collection_service_name; EventLog.Log = "Application"; // These Flags set whether or not to handle that specific // type of event. Set to true if you need it, false otherwise. CanHandlePowerEvent = false; CanHandleSessionChangeEvent = false; CanPauseAndContinue = false; CanShutdown = true; CanStop = true; try { _log = LoggerFactory.GetLogger(LoggerFactory.LoggerType.Nlog, "CollectorService"); _log.Info("Connecting to db..."); _manager = new MailBoxManager(25, _log); var auth_error_warning_timeout = ConfigurationManager.AppSettings["mail.AuthErrorSendWarningAlertTimeout"] != null ? TimeSpan.FromSeconds( Convert.ToInt32(ConfigurationManager.AppSettings["mail.AuthErrorSendWarningAlertTimeout"])) : TimeSpan.FromHours(2); _manager.AuthErrorWarningTimeout = auth_error_warning_timeout; _log.Info("Auth login error warning timeout is {0}.", auth_error_warning_timeout.ToString()); var auth_error_disable_mailbox_timeout = ConfigurationManager.AppSettings["mail.AuthErrorDisableMailboxTimeout"] != null ? TimeSpan.FromSeconds( Convert.ToInt32(ConfigurationManager.AppSettings["mail.AuthErrorDisableMailboxTimeout"])) : TimeSpan.FromDays(3); _log.Info("Auth login error disable mailbox timeout is {0}.", auth_error_disable_mailbox_timeout.ToString()); _manager.AuthErrorDisableTimeout = auth_error_disable_mailbox_timeout; _log.Info("Creating collector service..."); var handlers_log = LoggerFactory.GetLogger(LoggerFactory.LoggerType.Nlog, "MessageHandlers"); var queue_settings = MailQueueSettings.FromConfig; if (work_on_this_users_only != null) queue_settings.WorkOnUsersOnly = work_on_this_users_only.ToList(); else { var user_to_work_on = ConfigurationManager.AppSettings["mail.OneUserMode"]; if (!string.IsNullOrEmpty(user_to_work_on)) queue_settings.WorkOnUsersOnly.Add(user_to_work_on); } _manager.TenantOverdueDays = queue_settings.OverdueDays; var handlers = MessageHandlersSettings.FromConfig(handlers_log, "mail"); var enable_activity_log = ConfigurationManager.AppSettings["mail.EnableActivityLog"] == null || Convert.ToBoolean(ConfigurationManager.AppSettings["mail.EnableActivityLog"]); _manager.EnableActivityLog = enable_activity_log; _log.Info("Db aggregator activity log is {0}.", enable_activity_log ? "enabled" : "disabled"); _collector = new Collector(_manager, queue_settings, handlers); _log.Info("Service is ready."); AggregatorLogger.Instance.Initialize(_manager, GetServiceIp()); _log.Info("Aggregator logger initialized."); } catch (Exception ex) { _log.Fatal("CollectorService error under constuct: {0}", ex.ToString()); } }
public MailWorkerQueue(int workerCount, TimeSpan waitInterval, int errorCount, bool stopAfterFinsih, Collector collector) : base(workerCount, waitInterval, errorCount, stopAfterFinsih) { _collector = collector; }
public MailWorkerQueue(int workerCount, TimeSpan waitInterval, Collector collector) : base(workerCount, waitInterval) { _collector = collector; }
public CollectorService(IEnumerable <string> work_on_this_users_only = null) { ServiceName = asc_mail_collection_service_name; EventLog.Log = "Application"; // These Flags set whether or not to handle that specific // type of event. Set to true if you need it, false otherwise. CanHandlePowerEvent = false; CanHandleSessionChangeEvent = false; CanPauseAndContinue = false; CanShutdown = true; CanStop = true; try { _log = LoggerFactory.GetLogger(LoggerFactory.LoggerType.Nlog, "CollectorService"); _log.Info("Connecting to db..."); _manager = new MailBoxManager(25, _log); var auth_error_warning_timeout = ConfigurationManager.AppSettings["mail.AuthErrorSendWarningAlertTimeout"] != null ? TimeSpan.FromSeconds( Convert.ToInt32(ConfigurationManager.AppSettings["mail.AuthErrorSendWarningAlertTimeout"])) : TimeSpan.FromHours(2); _manager.AuthErrorWarningTimeout = auth_error_warning_timeout; _log.Info("Auth login error warning timeout is {0}.", auth_error_warning_timeout.ToString()); var auth_error_disable_mailbox_timeout = ConfigurationManager.AppSettings["mail.AuthErrorDisableMailboxTimeout"] != null ? TimeSpan.FromSeconds( Convert.ToInt32(ConfigurationManager.AppSettings["mail.AuthErrorDisableMailboxTimeout"])) : TimeSpan.FromDays(3); _log.Info("Auth login error disable mailbox timeout is {0}.", auth_error_disable_mailbox_timeout.ToString()); _manager.AuthErrorDisableTimeout = auth_error_disable_mailbox_timeout; _log.Info("Creating collector service..."); var handlers_log = LoggerFactory.GetLogger(LoggerFactory.LoggerType.Nlog, "MessageHandlers"); var queue_settings = MailQueueSettings.FromConfig; if (work_on_this_users_only != null) { queue_settings.WorkOnUsersOnly = work_on_this_users_only.ToList(); } else { var user_to_work_on = ConfigurationManager.AppSettings["mail.OneUserMode"]; if (!string.IsNullOrEmpty(user_to_work_on)) { queue_settings.WorkOnUsersOnly.Add(user_to_work_on); } } _manager.TenantOverdueDays = queue_settings.OverdueDays; var handlers = MessageHandlersSettings.FromConfig(handlers_log, "mail"); var enable_activity_log = ConfigurationManager.AppSettings["mail.EnableActivityLog"] == null || Convert.ToBoolean(ConfigurationManager.AppSettings["mail.EnableActivityLog"]); _manager.EnableActivityLog = enable_activity_log; _log.Info("Db aggregator activity log is {0}.", enable_activity_log ? "enabled" : "disabled"); _collector = new Collector(_manager, queue_settings, handlers); _log.Info("Service is ready."); AggregatorLogger.Instance.Initialize(_manager, GetServiceIp()); _log.Info("Aggregator logger initialized."); } catch (Exception ex) { _log.Fatal("CollectorService error under constuct: {0}", ex.ToString()); } }