diff --git a/README.md b/README.md index d536aea..a6e586a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # Hangfire.Redis.CSRedisCore -Hangfire.Redis.CSRedis +Hangfire Redis 存储基于 [Hangfire.Redis.StackExchange](https://github.com/marcoCasamento/Hangfire.Redis.StackExchange),但使用的是 [CSRedisCore](https://github.com/2881099/csredis) 组件作为访问客户端。 + +## 教程:在ASP.NET Core MVC 使用Hangfire Redis存储 +### 入门 +要在 ASP.NET Core MVC 项目中使用Hangfire的Redis存储。首先,您至少需要安装这两个软件包: diff --git a/samples/Hangfire.Redis.Sample/Hangfire.Redis.Sample.csproj b/samples/Hangfire.Redis.Sample/Hangfire.Redis.Sample.csproj index 063864c..18b1cac 100644 --- a/samples/Hangfire.Redis.Sample/Hangfire.Redis.Sample.csproj +++ b/samples/Hangfire.Redis.Sample/Hangfire.Redis.Sample.csproj @@ -1,6 +1,6 @@ - + false netcoreapp2.2 InProcess diff --git a/samples/Hangfire.Redis.Sample/Startup.cs b/samples/Hangfire.Redis.Sample/Startup.cs index c059f90..44641be 100644 --- a/samples/Hangfire.Redis.Sample/Startup.cs +++ b/samples/Hangfire.Redis.Sample/Startup.cs @@ -18,7 +18,7 @@ public void ConfigureServices(IServiceCollection services) { var storage = new RedisStorage("127.0.0.1:6379,defaultDatabase=1,poolsize=50", new RedisStorageOptions { - Prefix = "hangfire.dev" + Prefix = "hangfire.dev:" }); services.AddHangfire(o => { o.UseStorage(storage); }); JobStorage.Current = storage; @@ -57,8 +57,11 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env) DisplayStorageConnectionString = false, // 鏄惁鏄剧ず鏁版嵁搴撹繛鎺ヤ俊鎭 IsReadOnlyFunc = context => false, }); - app.UseHangfireServer(); - RecurringJob.AddOrUpdate(() => Debug.WriteLine($"杈撳嚭鍐呭锛歿DateTime.Now:yyyy-MM-dd HH:mm:ss.sss}"), "*/1 * * * * ? ", TimeZoneInfo.Local); + app.UseHangfireServer(new BackgroundJobServerOptions + { + Queues = new []{"dev","test","pred","prod","default"} + }); + RecurringJob.AddOrUpdate(() => Console.WriteLine($"杈撳嚭鍐呭锛歿DateTime.Now:yyyy-MM-dd HH:mm:ss.sss}"), "*/1 * * * * ? ", TimeZoneInfo.Local); } } } diff --git a/src/Hangfire.Redis.CSRedisCore/RedisMonitoringApi.cs b/src/Hangfire.Redis.CSRedisCore/RedisMonitoringApi.cs index cbac221..5d29e10 100644 --- a/src/Hangfire.Redis.CSRedisCore/RedisMonitoringApi.cs +++ b/src/Hangfire.Redis.CSRedisCore/RedisMonitoringApi.cs @@ -108,7 +108,7 @@ public IList Servers() => foreach (var serverName in serverNames) { - var queue = redis.LRange(_storage.GetRedisKey($"server:{serverName}:queues"), 1, -1); + var queue = redis.LRange(_storage.GetRedisKey($"server:{serverName}:queues"), 0, -1); var server = redis.HMGet(_storage.GetRedisKey($"server:{serverName}"), new string[] { "WorkerCount", "StartedAt", "Heartbeat" }); if (server[0] == null)