public static IGlobalConfiguration <SqlServerStorage> UseMemoryQueues(
            this IGlobalConfiguration <SqlServerStorage> configuration,
            string pathPattern,
            params string[] queues)
        {
            if (queues.Length == 0)
            {
                queues = new[] { EnqueuedState.DefaultQueue };
            }

            var provider = new MemoryJobQueueProvider(pathPattern, queues);

            configuration.Entry.QueueProviders.Add(provider, queues);

            return(configuration);
        }
        public static SqlServerStorage UseMemoryQueues(
            [NotNull] this SqlServerStorage storage,
            [NotNull] string pathPattern,
            params string[] queues)
        {
            if (storage == null)
            {
                throw new ArgumentNullException(nameof(storage));
            }

            if (queues.Length == 0)
            {
                queues = new[] { EnqueuedState.DefaultQueue };
            }

            var provider = new MemoryJobQueueProvider(pathPattern, queues);

            storage.QueueProviders.Add(provider, queues);

            return(storage);
        }