public MessengerServer(SqlServerSettings settings, RepositoryFactory repositoryFactory) : base(settings) { _repositoryFactory = repositoryFactory; if (settings == null) throw new ArgumentNullException(nameof(settings)); if (string.IsNullOrWhiteSpace(settings.ConnectionString)) throw new NullReferenceException("ConnectionString is not specified!"); _jobActivator = settings.JobActivator ?? new JobActivator(); _checkInterval = settings.CheckInterval.HasValue && settings.CheckInterval > TimeSpan.Zero ? settings.CheckInterval.Value : TimeSpan.FromSeconds(10); _maxProcessCount = settings.MaxProcessCount > 0 ? settings.MaxProcessCount : Environment.ProcessorCount*2; _messageBatchSize = settings.MessageBatchSize > 0 ? settings.MessageBatchSize : 10; _processNameFormat = settings.ProcessNameFormat; _customProcessName = settings.CustomProcessName; _completedMessages = settings.CompletedMessages ?? CompletedMessages.Default; if (_completedMessages.Archive && _completedMessages.Cleanup && _completedMessages.CleanOlderThanUtc == null) { _completedMessages.CleanOlderThanUtc = () => DateTime.Today; } }
private static void StartServer(CancellationTokenSource cancelationSource, string connectionString) { var settings = new SqlServerSettings { ConnectionString = connectionString, CheckInterval = TimeSpan.FromSeconds(10), MessageBatchSize = 1, MaxProcessCount = 10, Logger = new ConsoleLogger(true), CompletedMessages = new CompletedMessages { Archive = true, Cleanup = true, CleanOlderThanUtc = () => DateTime.UtcNow.AddMinutes(-5) }, }; //_server = new MessengerServer(settings, new PostgreSqlRepositoryFactory(settings)); _server = new MessengerServer(settings, new MsSqlRepositoryFactory(settings)); _server.Start(cancelationSource.Token); }
public MsSqlMessengerServer(SqlServerSettings settings) : base(settings, new MsSqlRepositoryFactory(settings)) { }
public PostgreSqlMessengerServer(SqlServerSettings settings) : base(settings, new PostgreSqlRepositoryFactory(settings)) { }