コード例 #1
0
        public RedisStorage(ConfigurationOptions Options, int db, string prefix)
        {
            if (Options == null)
            {
                throw new ArgumentNullException("Options");
            }

            var HangfireOptions = new RedisStorageOptions()
            {
                Prefix = prefix
            };

            Db = db;
            Options.AbortOnConnectFail = false;
            Options.ClientName         = ClientName;
            ServerPool = ConnectionMultiplexer.Connect(Options);

            var Sub    = new RedisSubscribe(ServerPool.GetSubscriber(), prefix);
            var LockID = Guid.NewGuid().ToString();

            StorageInternals = new RedisStorageInternals(prefix, LockID, Sub);



            FetchedJobsOptions = new FetchedJobsWatcherOptions(HangfireOptions);
        }
コード例 #2
0
 public static IGlobalConfiguration<RedisStorage> UseRedisStorage(this IGlobalConfiguration configuration, string OptionString, RedisStorageOptions HangfireOptions)
 {
     if (configuration == null) throw new ArgumentNullException("configuration");
     if (OptionString == null) throw new ArgumentNullException("OptionString");
     if (HangfireOptions == null) throw new ArgumentNullException("HangfireOptions");
     var storage = new RedisStorage(OptionString, HangfireOptions);
     return configuration.UseStorage(storage);
 }
 public FetchedJobsWatcherOptions(RedisStorageOptions Options)
 {
     FetchedLockTimeout = TimeSpan.FromMinutes(1);
     CheckedTimeout = TimeSpan.FromMinutes(1);
     SleepTimeout = TimeSpan.FromMinutes(1);
     Prefix = Options.Prefix;
     InvisibilityTimeout = Options.InvisibilityTimeout;
 }
コード例 #4
0
 public FetchedJobsWatcherOptions(RedisStorageOptions Options)
 {
     FetchedLockTimeout  = TimeSpan.FromMinutes(1);
     CheckedTimeout      = TimeSpan.FromMinutes(1);
     SleepTimeout        = TimeSpan.FromMinutes(1);
     Prefix              = Options.Prefix;
     InvisibilityTimeout = Options.InvisibilityTimeout;
 }
コード例 #5
0
        public RedisStorage(ConfigurationOptions RedisOptions, RedisStorageOptions HangfireOptions)
        {
            if (RedisOptions == null) throw new ArgumentNullException("RedisOptions");
            if (HangfireOptions == null) throw new ArgumentNullException("HangfireOptions");

            Db = HangfireOptions.Db;
            RedisOptions.AbortOnConnectFail = false;
            RedisOptions.ClientName = ClientName;
            ServerPool = ConnectionMultiplexer.Connect(RedisOptions);

            var Sub = new RedisSubscribe(ServerPool.GetSubscriber(), HangfireOptions.Prefix);
            var LockID = Guid.NewGuid().ToString();
            StorageInternals = new RedisStorageInternals(HangfireOptions.Prefix, LockID, Sub);
            FetchedJobsOptions = new FetchedJobsWatcherOptions(HangfireOptions);


        }
コード例 #6
0
        public RedisStorage(ConfigurationOptions Options, int db, string prefix)
        {
            if (Options == null) throw new ArgumentNullException("Options");

            var HangfireOptions = new RedisStorageOptions()
            {
                Prefix = prefix
            };

            Db = db;
            Options.AbortOnConnectFail = false;
            Options.ClientName = ClientName;
            ServerPool = ConnectionMultiplexer.Connect(Options);

            var Sub = new RedisSubscribe(ServerPool.GetSubscriber(), prefix);
            var LockID = Guid.NewGuid().ToString();
            StorageInternals = new RedisStorageInternals(prefix, LockID, Sub);

            FetchedJobsOptions = new FetchedJobsWatcherOptions(HangfireOptions);
        }
コード例 #7
0
        public RedisStorage(ConfigurationOptions RedisOptions, RedisStorageOptions HangfireOptions)
        {
            if (RedisOptions == null)
            {
                throw new ArgumentNullException("RedisOptions");
            }
            if (HangfireOptions == null)
            {
                throw new ArgumentNullException("HangfireOptions");
            }

            Db = HangfireOptions.Db;
            RedisOptions.AbortOnConnectFail = false;
            RedisOptions.ClientName         = ClientName;
            ServerPool = ConnectionMultiplexer.Connect(RedisOptions);

            var Sub    = new RedisSubscribe(ServerPool.GetSubscriber(), HangfireOptions.Prefix);
            var LockID = Guid.NewGuid().ToString();

            StorageInternals   = new RedisStorageInternals(HangfireOptions.Prefix, LockID, Sub);
            FetchedJobsOptions = new FetchedJobsWatcherOptions(HangfireOptions);
        }
コード例 #8
0
 public RedisStorage(string OptionString, RedisStorageOptions HangfireOptions) : this(ConfigurationOptions.Parse(OptionString), HangfireOptions) { }
コード例 #9
0
        public static IGlobalConfiguration <RedisStorage> UseRedisStorage(this IGlobalConfiguration configuration, ConfigurationOptions Options, RedisStorageOptions HangfireOptions)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException("configuration");
            }
            if (Options == null)
            {
                throw new ArgumentNullException("Options");
            }
            if (HangfireOptions == null)
            {
                throw new ArgumentNullException("HangfireOptions");
            }

            var storage = new RedisStorage(Options, HangfireOptions);

            return(configuration.UseStorage(storage));
        }
コード例 #10
0
 public RedisStorage(string OptionString, RedisStorageOptions HangfireOptions) : this(ConfigurationOptions.Parse(OptionString), HangfireOptions)
 {
 }