feat: add switch to disable xxl-job service, update readme

This commit is contained in:
RockYang
2023-11-10 15:22:35 +08:00
parent 414c1de963
commit e0965aae5e
4 changed files with 37 additions and 5 deletions

View File

@@ -67,4 +67,24 @@ WeChatBot = false
Enabled = false
ApiURL = "http://172.22.11.200:7860"
ApiKey = ""
Txt2ImgJsonPath = "res/text2img.json"
Txt2ImgJsonPath = "res/text2img.json"
[XXLConfig] # xxl-job 配置,需要你部署 XXL-JOB 定时任务工具,用来定期清理未支付订单和清理过期 VIP如果你没有启用支付服务则该服务也无需启动
Enabled = false # 是否启用 XXL JOB 服务
ServerAddr = "http://172.22.11.47:8080/xxl-job-admin" # xxl-job-admin 管理地址
ExecutorIp = "" # 执行器 IP 地址
ExecutorPort = "" # 执行器服务端口
AccessToken = "" # 执行器 API 通信 token
RegistryKey = "chatgpt-plus" # 任务注册 key
[AlipayConfig]
Enabled = false
SandBox = false
Company = "sandbox 默认应用:2088721020750581"
UserId = "2088721020750581"
AppId = "9021000131658023"
PrivateKey = "certs/alipay/privateKey.txt"
PublicKey = "certs/alipay/appPublicCert.crt"
AlipayPublicKey = "certs/alipay/alipayPublicCert.crt"
RootCert = "certs/alipay/alipayRootCert.crt"
NotifyURL = "http://r9it.com:6004/api/payment/alipay/notify"

View File

@@ -74,10 +74,11 @@ type AlipayConfig struct {
}
type XXLConfig struct { // XXL 任务调度配置
Enabled bool
ServerAddr string
AccessToken string
ExecutorIp string
ExecutorPort string
AccessToken string
RegistryKey string
}

View File

@@ -17,9 +17,15 @@ var logger = logger2.GetLogger()
type XXLJobExecutor struct {
executor xxl.Executor
db *gorm.DB
config *types.XXLConfig
}
func NewXXLJobExecutor(config *types.AppConfig, db *gorm.DB) *XXLJobExecutor {
if !config.XXLConfig.Enabled {
logger.Info("XXL-JOB service is disabled")
return nil
}
exec := xxl.NewExecutor(
xxl.ServerAddr(config.XXLConfig.ServerAddr),
xxl.AccessToken(config.XXLConfig.AccessToken), //请求令牌(默认为空)
@@ -29,10 +35,14 @@ func NewXXLJobExecutor(config *types.AppConfig, db *gorm.DB) *XXLJobExecutor {
xxl.SetLogger(&customLogger{}), //自定义日志
)
exec.Init()
return &XXLJobExecutor{executor: exec, db: db}
return &XXLJobExecutor{executor: exec, db: db, config: &config.XXLConfig}
}
func (e *XXLJobExecutor) Run() error {
if !e.config.Enabled {
return nil
}
e.executor.RegTask("ClearOrder", e.ClearOrder)
e.executor.RegTask("ResetVipCalls", e.ResetVipCalls)
return e.executor.Run()