package main import ( "github.com/go-sql-driver/mysql" "github.com/zjxpcyc/tinylogger" "xorm.io/xorm" ) var DB *xorm.Engine // logger 日志记录器 var logger = tinylogger.NewLogger() // InitDB 初始化数据库 func InitDB() error { // 连接数据库 config := mysql.NewConfig() config.User = "serverless" config.Passwd = "XyooUowbyE3f5Cam" config.Net = "tcp" config.Addr = "rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com" config.DBName = "job_for_serverless" config.Params = map[string]string{ "charset": "utf8", } var err error DB, err = xorm.NewEngine("mysql", config.FormatDSN()) if err != nil { logger.Error(err) return err } // 打印SQL // DB.ShowSQL(true) return nil } func main() { // 初始化数据库 if err := InitDB(); err != nil { panic(err) } // 开启 job 服务 job := NewJobPool() job.Callback(Exec) job.Start() // limit := []int{100} tasks := GetTasks(limit) // logger.Info("All Tasks: ", tasks) for _, task := range tasks { job.Push(task) } job.Done(len(tasks)) }