You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.6 KiB
C#

using DS.WMS.Core.HangfireJob.Interface;
using Hangfire;
using Hangfire.Dashboard.BasicAuthorization;
using Microsoft.AspNetCore.Builder;
namespace DS.WMS.Core.HangfireJob.Method
{
/// <summary>
/// 注册Hangfire定时任务的中间件
/// </summary>
public static class JobMiddleware
{
/// <summary>
/// 注册Hangfire定时任务的中间件
/// </summary>
/// <param name="app"></param>
/// <returns></returns>
public static WebApplication UseJobMiddlewares(this WebApplication app)
{
//app.UseHangfireServer(); // 用于将 Hangfire 任务处理服务器添加到请求处理管道中
// 将 Hangfire 仪表板添加到应用程序的请求处理管道中
app.UseHangfireDashboard("/hangfire", new DashboardOptions
{
Authorization = new[] {new BasicAuthAuthorizationFilter(new BasicAuthAuthorizationFilterOptions
{
RequireSsl = false,
SslRedirect = false,
LoginCaseSensitive = true,
Users = new []
{
new BasicAuthAuthorizationUser
{
Login = "admin",
PasswordClear = "ds2024"
}
}
})}
});
RecurringJob.AddOrUpdate<IFeeCustTemplateJobService>(nameof(IFeeCustTemplateJobService),
s => s.GenerateFeesAsync(), Cron.Daily(23, 30));
return app;
}
}
}