private void CreateDatabaseEmailProcessor(IDnaLogger logger) { DnaDataReaderCreator theGuideDnaDataReaderCreator = new DnaDataReaderCreator(Properties.Settings.Default.ConnectionString_TheGuide); int interval = Properties.Settings.Default.DatabaseEmailProcessor_Interval; int numThreads = Properties.Settings.Default.DatabaseEmaiProcessor_NumThreads; int batchSize = Properties.Settings.Default.DatabaseEmaiProcessor_BatchSize; var smtpHostname = Properties.Settings.Default.DatabaseEmailProcessor_SMTPHostname; var smtpSslEnable = Properties.Settings.Default.DatabaseEmailProcessor_SMTPSslEnable; var smtpUsername = Properties.Settings.Default.DatabaseEmailProcessor_SMTPUsername; var smtpPassword = Properties.Settings.Default.DatabaseEmailProcessor_SMTPPassword; var persistentErrMsgSnippet = Properties.Settings.Default.DatabaseEmailProcessor_PersistentErrorMessageSnippet; var databaseEMailProcessor = DatabaseEmailProcessor.CreateDatabaseEmailProcessor(logger, theGuideDnaDataReaderCreator, interval, numThreads, batchSize, smtpHostname, smtpUsername, smtpPassword, smtpSslEnable); DatabaseEmailProcessor.PersistentErrorMsgSnippet = persistentErrMsgSnippet; databaseEMailProcessor.Start(); }
public void ProcessEmail(IDnaSmtpClient client, IDnaLogger logger) { try { using (MailMessage message = new MailMessage()) { message.From = new MailAddress(FromAddress); message.To.Add(ToAddress); message.Subject = Subject; message.SubjectEncoding = Encoding.UTF8; message.Body = Body; message.BodyEncoding = Encoding.UTF8; message.Priority = MailPriority.Normal; client.SendMessage(message); Sent = true; } } catch (Exception e) { string errorMsg = e.Message; if (e.InnerException != null) { errorMsg += " : " + e.InnerException.Message; } logger.Log(System.Diagnostics.TraceEventType.Verbose, errorMsg); LastFailedReason = errorMsg; Sent = false; } }
public ExModerationProcessor(IDnaDataReaderCreator dataReaderCreator, IDnaLogger logger, IDnaHttpClientCreator httpClientCreator) { DataReaderCreator = dataReaderCreator; HttpClientCreator = httpClientCreator; ExModLogger = logger; }
public SnesActivityProcessor(IDnaDataReaderCreator dataReaderCreator, IDnaLogger logger, IDnaHttpClientCreator httpClientCreator, int batchSize) { DataReaderCreator = dataReaderCreator; HttpClientCreator = httpClientCreator; BatchSize = batchSize; SnesActivityLogger = logger; }
private void CreateBIEventProcessor(IDnaLogger logger) { DnaDataReaderCreator theGuideDnaDataReaderCreator = new DnaDataReaderCreator(Properties.Settings.Default.ConnectionString_TheGuide); DnaDataReaderCreator RiskDnaDataReaderCreator = new DnaDataReaderCreator(Properties.Settings.Default.ConnectionString_RiskMod); int interval = Properties.Settings.Default.BIEventsProcessor_Interval; bool disableRiskMod = Properties.Settings.Default.BIEventsProcessor_DisableRiskMod; bool recordRiskModDecisionsOnPost = Properties.Settings.Default.BIEventsProcessor_RecordRiskModDecisionsOnPost; int numThreads = Properties.Settings.Default.BIEventsProcessor_NumThreads; var biEventProc = BIEventProcessor.CreateBIEventProcessor(logger, theGuideDnaDataReaderCreator, RiskDnaDataReaderCreator, interval, disableRiskMod, recordRiskModDecisionsOnPost, numThreads); biEventProc.Start(); }
private void CreateDatabaseEmailProcessor(IDnaLogger logger) { DnaDataReaderCreator theGuideDnaDataReaderCreator = new DnaDataReaderCreator(Properties.Settings.Default.ConnectionString_TheGuide); int interval = Properties.Settings.Default.DatabaseEmailProcessor_Interval; int numThreads = Properties.Settings.Default.DatabaseEmaiProcessor_NumThreads; int batchSize = Properties.Settings.Default.DatabaseEmaiProcessor_BatchSize; string smtpSettings = Properties.Settings.Default.DatabaseEmailProcessor_SMTPSettings; int maxRetryAttempts = Properties.Settings.Default.DatabaseEmailProcessor_MaxRetryAttempts; var databaseEMailProcessor = DatabaseEmailProcessor.CreateDatabaseEmailProcessor(logger, theGuideDnaDataReaderCreator, interval, numThreads, batchSize, smtpSettings, maxRetryAttempts); databaseEMailProcessor.Start(); }
public static DatabaseEmailProcessor CreateDatabaseEmailProcessor(IDnaLogger logger, IDnaDataReaderCreator dataReaderCreator, int processInterval, int numThreads, int batchSize, string emailServerHostName, string emailServerUsername, string emailServerPassword, bool enableSsl) { ProcessorLogger = logger; if (ProcessorInstance != null) { // It's designed to have only one instance of BIEventProcessor running at a time // so turn the old one off and close it ProcessorInstance.Stop(); ProcessorInstance.Close(); } DataReaderCreator = dataReaderCreator; NumberOfThreads = numThreads; BatchSize = batchSize; SMTPClient = new DnaSmtpClient(emailServerHostName, emailServerUsername, emailServerPassword, enableSsl); int minNumThreads, minCompPorts; ThreadPool.GetMinThreads(out minNumThreads, out minCompPorts); if (minNumThreads < NumberOfThreads) ThreadPool.SetMinThreads(NumberOfThreads, NumberOfThreads); ProcessorInstance = new DatabaseEmailProcessor(processInterval); bool isDebugBuild = false; #if DEBUG isDebugBuild = true; #endif var props = new Dictionary<string, object>() { { "Database connection string", DataReaderCreator != null ? DataReaderCreator.ConnectionString : "NULL" }, { "Interval", processInterval }, { "NumThreads", NumberOfThreads }, { "BatchSize", BatchSize }, { "SMTP Hostname", emailServerHostName }, { "SMTP Username", emailServerUsername}, { "SMTP Enable SSL", enableSsl.ToString()}, { "Debug Build", isDebugBuild ? 1 : 0 } }; logger.Log(TraceEventType.Information, "Created DatabaseEmailProcessor with these params", props); return ProcessorInstance; }
public static BIEventProcessor CreateBIEventProcessor(IDnaLogger logger, IDnaDataReaderCreator theGuideDataReaderCreator, IDnaDataReaderCreator riskModDataReaderCreator, int interval, bool disableRiskMod, bool recRiskModDecOnThreadEntries, int numThreads) { BIEventLogger = logger; if (BIEventProcessorInstance != null) { // It's designed to have only one instance of BIEventProcessor running at a time // so turn the old one off and close it BIEventProcessorInstance.Stop(); BIEventProcessorInstance.Close(); } TheGuideDataReaderCreator = theGuideDataReaderCreator; RiskModDataReaderCreator = riskModDataReaderCreator; DisableRiskMod = disableRiskMod; RecRiskModDecOnThreadEntries = recRiskModDecOnThreadEntries; NumThreads = numThreads; int minNumThreads, minCompPorts, maxNumThreads, maxCompPorts; ThreadPool.GetMinThreads(out minNumThreads, out minCompPorts); ThreadPool.GetMaxThreads(out maxNumThreads, out maxCompPorts); if (minNumThreads < NumThreads) ThreadPool.SetMinThreads(NumThreads, NumThreads); BIEventProcessorInstance = new BIEventProcessor(interval); var props = new Dictionary<string, object>() { { "TheGuide connection string", TheGuideDataReaderCreator != null ? TheGuideDataReaderCreator.ConnectionString : "NULL" }, { "RiskMod connection string", RiskModDataReaderCreator !=null ? RiskModDataReaderCreator.ConnectionString : "NULL" }, { "Interval", interval }, { "DisableRiskMod", DisableRiskMod }, { "RecRiskModDecOnThreadEntries", RecRiskModDecOnThreadEntries }, { "NumThreads", NumThreads }, { "MinThreads", minNumThreads }, { "MinCompPorts", minCompPorts }, { "MaxThreads", maxNumThreads }, { "MaxCompPorts", maxCompPorts } }; BIEventLogger.Log(TraceEventType.Information, "Created BIEventProcessor with these params", props); return BIEventProcessorInstance; }
public void ProcessEmail(IDnaSmtpClient client, IDnaLogger logger) { try { using (var message = new MailMessage()) { message.From = new MailAddress(FromAddress); foreach (var address in ToAddress.Split(';')) { message.To.Add(new MailAddress(address)); } if (CCAddress != null && CCAddress.Length > 0) { message.CC.Add(new MailAddress(CCAddress)); } message.Subject = Subject; message.SubjectEncoding = Encoding.UTF8; message.Body = Body; message.BodyEncoding = Encoding.UTF8; message.Priority = MailPriority.Normal; client.SendMessage(message); Sent = true; } } catch (Exception e) { var errorMsg = e.Message; if (e.InnerException != null) { errorMsg += " : " + e.InnerException.Message; } logger.Log(System.Diagnostics.TraceEventType.Verbose, errorMsg); LastFailedReason = errorMsg; Sent = false; } }
public static ISnesActivity CreateSnesActivity(IDnaLogger logger, IDnaDataReader currentRow) { var openSocialActivity = new OpenSocialActivityDataReaderAdapter(currentRow); var eventData = new SnesEventDataReaderAdapter(currentRow); ISnesActivity activity; switch (eventData.ActivityType) { case 19: activity = CommentActivityBase.CreateActivity(openSocialActivity, eventData); break; case 20: activity = RevokeCommentActivity.CreateActivity(openSocialActivity, eventData); break; default: activity = new UnexpectedActivity(); break; } return activity; }
private static SnesActivityProcessor CreateSnesActivityProcessor(IDnaDataReaderCreator dataReaderCreator, IDnaLogger logger, IDnaHttpClientCreator httpClientCreator) { return new SnesActivityProcessor( dataReaderCreator, logger, httpClientCreator); }
public SnesActivityProcessor(IDnaDataReaderCreator dataReaderCreator, IDnaLogger logger, IDnaHttpClientCreator httpClientCreator) : this(dataReaderCreator, logger, httpClientCreator, 100) { }