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;
 }
Exemple #4
0
        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());
 }
Exemple #9
0
 public void AddSqlSender(ISqlStorageConfig config, string queueName)
 {
     AddSqlSender(config, queueName, m => {});
 }
Exemple #10
0
 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;
 }
Exemple #11
0
 public void AddSqlRouter(ISqlStorageConfig config, string queueName, Func<ImmutableEnvelope, string> configure)
 {
     AddSqlProcess(config, new[] { queueName }, m => m.DispatchToRoute(configure));
 }
Exemple #12
0
 public void AddSqlProcess(ISqlStorageConfig config, params string[] queues)
 {
     AddSqlProcess(config, queues, m => {});
 }
 public SqlQueueWriterFactory(ISqlStorageConfig config, IEnvelopeStreamer streamer)
 {
     _config = config;
     _streamer = streamer;
 }