public void InstallServices(IServiceCollection services, IConfiguration configuration) { var hangfireSettings = new HangfireSettings(); configuration.Bind(key: nameof(HangfireSettings), hangfireSettings); services.AddSingleton(hangfireSettings); services.AddHangfire(options => { GlobalJobFilters.Filters.Add(new AutomaticRetryAttribute() { Attempts = 0 }); options.UseSqlServerStorage(configuration.GetConnectionString("DefaultConnection")); }); }
private static void ConfigFromEnv(HangfireSettings settings) { var HangfireQueues = GetEnvConfig <string>("HangfireQueues"); if (!string.IsNullOrEmpty(HangfireQueues)) { settings.JobQueues = HangfireQueues.Split(',').ToList(); } var ServerName = GetEnvConfig <string>("ServerName"); if (!string.IsNullOrEmpty(ServerName)) { settings.ServerName = ServerName; } var TablePrefix = GetEnvConfig <string>("TablePrefix"); if (!string.IsNullOrEmpty(TablePrefix)) { settings.TablePrefix = TablePrefix; } var WorkerCount = GetEnvConfig <string>("WorkerCount"); if (!string.IsNullOrEmpty(WorkerCount)) { settings.WorkerCount = int.Parse(WorkerCount); } var HangfireUserName = GetEnvConfig <string>("HangfireUserName"); var HangfirePwd = GetEnvConfig <string>("HangfirePwd"); if (!string.IsNullOrEmpty(HangfireUserName) && !string.IsNullOrEmpty(HangfirePwd)) { settings.HttpAuthInfo = new HttpAuthInfo { Users = new List <UserInfo>() }; settings.HttpAuthInfo.Users.Add(new UserInfo { Login = HangfireUserName, PasswordClear = HangfirePwd }); } }
public OrderSalesBatchJob(HangfireSettings hangfireSettings) => _hangfireSettings = hangfireSettings;