mirror of
https://github.com/CoreUnion/CoreShop.git
synced 2026-10-16 21:08:47 +08:00
【优化】hangfire定时任务组件增加配置设置。
This commit is contained in:
@@ -149,6 +149,10 @@ namespace CoreCms.Net.Configuration
|
||||
|
||||
#region HangFire定时任务================================================================================
|
||||
/// <summary>
|
||||
/// HangFire默认访问路由地址
|
||||
/// </summary>
|
||||
public static readonly string HangFireRoutePrefix = AppSettingsHelper.GetContent("HangFire", "RoutePrefix");
|
||||
/// <summary>
|
||||
/// 登录账号
|
||||
/// </summary>
|
||||
public static readonly string HangFireLogin = AppSettingsHelper.GetContent("HangFire", "Login");
|
||||
@@ -156,8 +160,10 @@ namespace CoreCms.Net.Configuration
|
||||
/// 登录密码
|
||||
/// </summary>
|
||||
public static readonly string HangFirePassWord = AppSettingsHelper.GetContent("HangFire", "PassWord");
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 已经完成的任务过期时间,单位分钟(默认10080,7天时间)
|
||||
/// </summary>
|
||||
public static readonly int HangFireJobExpirationTimeOut = AppSettingsHelper.GetContent("HangFire", "JobExpirationTimeOut").ObjToInt(10080);
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
using Hangfire.States;
|
||||
using Hangfire.Storage;
|
||||
using System;
|
||||
|
||||
namespace CoreCms.Net.Web.WebApi.Infrastructure
|
||||
{
|
||||
/// <summary>
|
||||
/// 已完成的job设置过期,防止数据无限增长
|
||||
/// </summary>
|
||||
public class SucceededStateExpireHandler : IStateHandler
|
||||
{
|
||||
/// <summary>
|
||||
/// 数据过期时间
|
||||
/// </summary>
|
||||
public TimeSpan JobExpirationTimeout;
|
||||
|
||||
/// <summary>
|
||||
/// 完成的项目过期状态处理
|
||||
/// </summary>
|
||||
/// <param name="jobExpirationTimeout"></param>
|
||||
public SucceededStateExpireHandler(int jobExpirationTimeout)
|
||||
{
|
||||
JobExpirationTimeout = TimeSpan.FromMinutes(jobExpirationTimeout);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 状态名称
|
||||
/// </summary>
|
||||
public string StateName => SucceededState.StateName;
|
||||
|
||||
/// <summary>
|
||||
/// 应用状态
|
||||
/// </summary>
|
||||
/// <param name="context"></param>
|
||||
/// <param name="transaction"></param>
|
||||
public void Apply(ApplyStateContext context, IWriteOnlyTransaction transaction)
|
||||
{
|
||||
context.JobExpirationTimeout = JobExpirationTimeout;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 不应用状态
|
||||
/// </summary>
|
||||
/// <param name="context"></param>
|
||||
/// <param name="transaction"></param>
|
||||
public void Unapply(ApplyStateContext context, IWriteOnlyTransaction transaction)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -198,9 +198,13 @@ var hangfireOptions = new Hangfire.DashboardOptions
|
||||
IsReadOnlyFunc = _ => false
|
||||
};
|
||||
|
||||
app.UseHangfireDashboard("/job", hangfireOptions); //可以改变Dashboard的url
|
||||
app.UseHangfireDashboard(AppSettingsConstVars.HangFireRoutePrefix, hangfireOptions);
|
||||
HangfireDispose.HangfireService();
|
||||
|
||||
//设置hangfire定时任务过期时间
|
||||
GlobalStateHandlers.Handlers.Add(new SucceededStateExpireHandler(AppSettingsConstVars.HangFireJobExpirationTimeOut));
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
//使用 Session
|
||||
|
||||
@@ -10,8 +10,10 @@
|
||||
},
|
||||
//定时任务管理面板的账户密码
|
||||
"HangFire": {
|
||||
"Login": "CoreShop",
|
||||
"PassWord": "oq9wfbdeasygj647v"
|
||||
"RoutePrefix": "/job", //路由地址,默认'/job'
|
||||
"Login": "", //登录账号
|
||||
"PassWord": "", //登录密码
|
||||
"JobExpirationTimeOut": "10080" //已经完成的任务过期时间,单位分钟(默认10080,7天时间)
|
||||
},
|
||||
//Swagger授权访问设置
|
||||
"SwaggerConfig": {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>核心商城(CoreShop)接口管理</title>
|
||||
<title>核心商城(CoreShop)系统社区版接口端管理</title>
|
||||
<meta name="robots" content="noarchive">
|
||||
<meta name="keywords" content="corecms,CoreShop,核心商城,核心小程序商城系统" />
|
||||
<meta name="description" content="核心小程序商城系统(CoreShop)基于Asp.net 5.0 开发的支持可视化布局的商城系统、前后端分离,支持分布式部署,拥有分销、团购、直播、秒杀、优惠券、自定义页面等众多营销功能,拥有完整sku和下单流程的完全开源商城,致力于为中小企业打造一个完整、易于维护的开源的电商系统,采用现阶段流行技术实现。后台管理系统包含会员管理、商品管理、订单管理、财务管理、运营管理、多规格管理、内容管理、报表统计、促销设置、分销管理、多门店管理、权限管理、设置等模块。" />
|
||||
@@ -23,7 +23,7 @@
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="top">恭喜您,核心商城(CoreShop)接口端部署成功!!!</div>
|
||||
<div class="top">恭喜您,核心商城(CoreShop)系统社区版接口端部署成功!!!</div>
|
||||
<div class="middle">
|
||||
请访问组件地址测试是否正常:<br />
|
||||
<p>|- HangFire 定制任务 【<a href="/job" target="_blank" class="blue">点击前往</a>】</p>
|
||||
@@ -31,9 +31,8 @@
|
||||
<br />
|
||||
<span class="zhuyi">注意事项:</span><br />
|
||||
<p>1、以上组件地址支持自定义调整,投产环境下请及时修改或屏蔽;投产环境下可删除此展示页面。</p>
|
||||
<p>2、『Swagger接口文档』访问路径修改位置为:【Startup.cs】文件第206行左右【代码:c.RoutePrefix = "doc"】,请将doc修改为其他虚拟路径。</p>
|
||||
<p>3、『HangFire定时任务』面板路径修改位置为:【Startup.cs】文件第256行左右【代码:app.UseHangfireDashboard("/job", options);】,请将job修改为其他虚拟路径。</p>
|
||||
<p>4、『HangFire定时任务』初始登录账号密码均为:【CoreShop】,修改位置为:【appsettings.json】文件,代码中【HangFire】节点。</p>
|
||||
<p>2、『Swagger接口文档』访问路径,登录账号密码均自行设置,修改位置为:【appsettings.json】文件,代码中【SwaggerConfig】节点。</p>
|
||||
<p>4、『HangFire定时任务』访问路径,登录账号密码均自行设置,修改位置为:【appsettings.json】文件,代码中【HangFire】节点。</p>
|
||||
<p>5、如果无法访问接口,请检查【1、数据库配置是否正常】【2、Redis是否配置正常并可正常链接使用】【3、Mysql数据库请保持5.7+版本】【4、站点日志文件夹写入权限】。</p>
|
||||
<p>6、如果第三方请求接口服务获取不到数据,Debug提示【Access-Control-Allow-Origin】的错误,表示为跨域问题,请打开【appsettings.json】文件在【Cors】节点设置请求白名单。</p>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user