mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 08:20:25 +08:00 
			
		
		
		
	* fix: 保存 LastResult 时截断字符串过长部分,以避免数据库报错 * refactor: 新增 entity.DbTaskBase 和 persistence.dbTaskBase, 用于实现数据库备份和恢复任务处理相关部分 * fix: aeskey变更后,解密密码出现数组越界访问错误 * fix: 时间属性为零值时,保存到 mysql 数据库报错 * refactor db.infrastructure.service.scheduler * feat: 实现立即备份功能 * refactor db.infrastructure.service.db_instance * refactor: 从数据库中获取数据库备份目录、mysql文件路径等配置信息 * fix: 数据库备份和恢复问题 * fix: 修改 .gitignore 文件,忽略数据库备份目录和数据库程序目录
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package starter
 | 
						||
 | 
						||
import (
 | 
						||
	"context"
 | 
						||
	"mayfly-go/initialize"
 | 
						||
	"mayfly-go/migrations"
 | 
						||
	"mayfly-go/pkg/config"
 | 
						||
	"mayfly-go/pkg/global"
 | 
						||
	"mayfly-go/pkg/logx"
 | 
						||
	"mayfly-go/pkg/validatorx"
 | 
						||
	"os"
 | 
						||
	"os/signal"
 | 
						||
	"syscall"
 | 
						||
)
 | 
						||
 | 
						||
func RunWebServer() {
 | 
						||
	ctx, cancel := context.WithCancel(context.Background())
 | 
						||
	defer cancel()
 | 
						||
 | 
						||
	go func() {
 | 
						||
		quit := make(chan os.Signal, 1)
 | 
						||
		signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
 | 
						||
		<-quit
 | 
						||
		cancel()
 | 
						||
	}()
 | 
						||
 | 
						||
	// 初始化config.yml配置文件映射信息或使用环境变量。并初始化系统日志相关配置
 | 
						||
	config.Init()
 | 
						||
 | 
						||
	// 打印banner
 | 
						||
	printBanner()
 | 
						||
 | 
						||
	// 初始化并赋值数据库全局变量
 | 
						||
	initDb()
 | 
						||
 | 
						||
	// 有配置redis信息,则初始化redis。多台机器部署需要使用redis存储验证码、权限、公私钥等
 | 
						||
	initRedis()
 | 
						||
 | 
						||
	// 数据库升级操作
 | 
						||
	if err := migrations.RunMigrations(global.Db); err != nil {
 | 
						||
		logx.Panicf("数据库升级失败: %v", err)
 | 
						||
	}
 | 
						||
 | 
						||
	// 参数校验器初始化、如错误提示中文转译等
 | 
						||
	validatorx.Init()
 | 
						||
 | 
						||
	// 初始化其他需要启动时运行的方法
 | 
						||
	initialize.InitOther()
 | 
						||
 | 
						||
	// 运行web服务
 | 
						||
	runWebServer(ctx)
 | 
						||
}
 |