public SqlPartitionModule(ISqlStorageConfig config, string[] queueNames) { DispatchAsEvents(); QueueVisibility(30000); _config = config; _queueNames = new HashSet<string>(queueNames); Quarantine(c => new MemoryQuarantine()); DecayPolicy(TimeSpan.FromSeconds(2)); }
public SqlPartitionFactory( IEnvelopeStreamer streamer, ISystemObserver observer, ISqlStorageConfig config, TimeSpan queueVisibilityTimeout, Func<uint, TimeSpan> decayPolicy ) { _streamer = streamer; _queueVisibilityTimeout = queueVisibilityTimeout; _decayPolicy = decayPolicy; _config = config; _observer = observer; }
public StatelessSqlQueueReader( ISqlStorageConfig config, string name, ISystemObserver provider, IEnvelopeStreamer streamer, TimeSpan visibilityTimeout ) { _config = config; _observer = provider; _queueName = name; _streamer = streamer; _visibilityTimeout = visibilityTimeout; }
public void AddSqlProcess(ISqlStorageConfig config, string[] queues, Action<SqlPartitionModule> configure) { foreach (var queue in queues) { if (queue.Contains(":")) { var message = string.Format("Queue '{0}' should not contain queue prefix, since it's sql already", queue); throw new InvalidOperationException(message); } if (!QueueName.IsMatch(queue)) { var format = string.Format("Queue name should match regex '{0}'", QueueName); throw new InvalidOperationException(format); } } var module = new SqlPartitionModule(config, queues); configure(module); _funqlets += module.Configure; }
public static void StreamingIsInAzure(this StorageModule self, ISqlStorageConfig storage) { //self.StreamingIs(new SqlStreamingRoot(storage.CreateBlobClient())); }
public static void AtomicIsInSql(this StorageModule self, ISqlStorageConfig config, IAtomicStorageStrategy strategy) { self.AtomicIs(new SqlAtomicStorageFactory(config, strategy)); }
public static void AtomicIsInSql(this StorageModule self, ISqlStorageConfig storage) { AtomicIsInSql(self, storage, builder => { }); }
public static void AtomicIsInSql(this StorageModule self, ISqlStorageConfig storage, Action<DefaultAtomicStorageStrategyBuilder> config) { var builder = new DefaultAtomicStorageStrategyBuilder(); config(builder); AtomicIsInSql(self, storage, builder.Build()); }
public void AddSqlSender(ISqlStorageConfig config, string queueName) { AddSqlSender(config, queueName, m => {}); }
public void AddSqlSender(ISqlStorageConfig config, string queueName, Action<SendMessageModule> configure) { var module = new SendMessageModule((context, endpoint) => new SqlQueueWriterFactory(config, context.Resolve<IEnvelopeStreamer>()), config.Name, queueName); configure(module); _funqlets += module.Configure; }
public void AddSqlRouter(ISqlStorageConfig config, string queueName, Func<ImmutableEnvelope, string> configure) { AddSqlProcess(config, new[] { queueName }, m => m.DispatchToRoute(configure)); }
public void AddSqlProcess(ISqlStorageConfig config, params string[] queues) { AddSqlProcess(config, queues, m => {}); }
public SqlQueueWriterFactory(ISqlStorageConfig config, IEnvelopeStreamer streamer) { _config = config; _streamer = streamer; }