private IEnumerable <DnsCheckTaskDto> GetTasks() { var dnsTasks = new List <DnsCheckTaskDto>(); try { var dnsCheckDal = new DalDomainDnsCheck(); dnsTasks = dnsCheckDal.GetOldUnverifiedTasks(_checkUnverifiedInMinutes, _checkTasksLimit); _log.Info("Found {0} unverified tasks to check.", dnsTasks.Count); if (!dnsTasks.Any() || dnsTasks.Count < _checkTasksLimit) { var dnsVerifiedTasks = dnsCheckDal.GetOldVerifiedTasks(_checkVerifiedInMinutes, _checkTasksLimit - dnsTasks.Count); _log.Info("Found {0} verified tasks to check.", dnsVerifiedTasks.Count); if (dnsVerifiedTasks.Any()) { dnsTasks.AddRange(dnsVerifiedTasks); } } } catch (Exception ex) { _log.Error("GetTasks() Exception: \r\n {0} \r\n", ex.ToString()); } return(dnsTasks); }
private void SetDomainChecked(int domainId) { try { var dnsCheckDal = new DalDomainDnsCheck(); dnsCheckDal.SetDomainChecked(domainId); } catch (Exception ex) { _log.Error("SetDomainChecked(domainId={0}) Exception: \r\n {1} \r\n", domainId, ex.ToString()); } }
private void SetDomainVerifiedAndChecked(int domainId, bool isVerified) { try { var dnsCheckDal = new DalDomainDnsCheck(); dnsCheckDal.SetDomainVerifiedAndChecked(domainId, isVerified); } catch (Exception ex) { _log.Error("SetDomainVerifiedAndChecked(domainId={0}, isVerified= {1}) Exception: \r\n {2} \r\n", domainId, isVerified, ex.ToString()); } }
private void DisableDomain(int domainId) { try { var dnsCheckDal = new DalDomainDnsCheck(); dnsCheckDal.SetDomainDisabled(domainId, _disableUnpaidDomainDays); } catch (Exception ex) { _log.Error("DisableDomain(domainId={0}) Exception: \r\n {1} \r\n", domainId, ex.ToString()); } }
public DnsCheckerService() { InitializeComponent(); CanStop = true; AutoLog = true; XmlConfigurator.Configure(); _log = LoggerFactory.GetLogger(LoggerFactory.LoggerType.Log4Net, "DnsChecker"); _mreStop = new ManualResetEvent(false); _tsInterval = TimeSpan.FromMinutes(Convert.ToInt32(ConfigurationManager.AppSettings["mailserver.check-timeout-in-minutes"])); _checkVerifiedInMinutes = Convert.ToInt32(ConfigurationManager.AppSettings["mailserver.check-verified-in-minutes"]); _checkUnverifiedInMinutes = Convert.ToInt32(ConfigurationManager.AppSettings["mailserver.check-unverified-in-minutes"]); _checkTasksLimit = Convert.ToInt32(ConfigurationManager.AppSettings["mailserver.check-tasks-limit"]); _tenantCachingPeriod = TimeSpan.FromMinutes(Convert.ToInt32(ConfigurationManager.AppSettings["mailserver.tenant-caching-period-in-minutes"])); _disableUnpaidDomainDays = Convert.ToInt32(ConfigurationManager.AppSettings["mailserver.disable-unpaid-domain-check-in-days"]); _waitBeforeNextTaskCheckInMilliseconds = Convert.ToInt32(ConfigurationManager.AppSettings["mailserver.wait-before-next-task-check-in-milliseconds"]); _log.Info("\r\nConfiguration:\r\n" + "\t- check dns-records of all domains in every {0} minutes;\r\n" + "\t- check no more then {1} domain's dns-records at the same time;\r\n" + "\t- check unverified dns-records every {2} minutes;\r\n" + "\t- check verified dns-records every {3} minutes;\r\n" + "\t- tenant caching period {4} minutes\r\n" + "\t- disable unpaid domain checks {5} days\r\n" + "\t- wait before next task check {6} milliseconds\r\n", _tsInterval.TotalMinutes, _checkTasksLimit, _checkUnverifiedInMinutes, _checkVerifiedInMinutes, _tenantCachingPeriod.TotalMinutes, _disableUnpaidDomainDays, _waitBeforeNextTaskCheckInMilliseconds); _dnsCheckDal = new DalDomainDnsCheck(); _tenantMemCache = new MemoryCache("TenantCache"); if (ConfigurationManager.AppSettings["mail.default-api-scheme"] != null) { var defaultApiScheme = ConfigurationManager.AppSettings["mail.default-api-scheme"]; ApiHelper.SetupScheme(defaultApiScheme); } }
public DnsCheckerService() { InitializeComponent(); CanStop = true; AutoLog = true; _log = LoggerFactory.GetLogger(LoggerFactory.LoggerType.Nlog, "DnsChecker"); _mreStop = new ManualResetEvent(false); _waitTimeInMinutes = Convert.ToInt32(ConfigurationManager.AppSettings["check_timeout_in_minutes"]); _checkVerifiedInMinutes = Convert.ToInt32(ConfigurationManager.AppSettings["check_verified_in_minutes"]); _checkUnverifiedInMinutes = Convert.ToInt32(ConfigurationManager.AppSettings["check_unverified_in_minutes"]); _checkTasksLimit = Convert.ToInt32(ConfigurationManager.AppSettings["check_tasks_limit"]); _tenantCachingPeriod = TimeSpan.FromMinutes(Convert.ToInt32(ConfigurationManager.AppSettings["tenant_caching_period_in_minutes"])); _disableUnpaidDomainDays = Convert.ToInt32(ConfigurationManager.AppSettings["disable_unpaid_domain_check_in_days"]); _waitBeforeNextTaskCheckInMilliseconds = Convert.ToInt32(ConfigurationManager.AppSettings["wait_before_next_task_check_in_milliseconds"]); _dnsCheckDal = new DalDomainDnsCheck(); _manager = new MailBoxManager(0, _log); }