|
1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package client
-
- import (
- "gorm.io/driver/mysql"
- "gorm.io/gorm"
- "gorm.io/gorm/logger"
- "gorm.io/gorm/schema"
- "time"
- )
-
- type client struct {
- url string
- dataSource string
- DbEngin *gorm.DB
- }
-
- func (c *client) Task(options TaskOptions) (Task, error) {
- task, _ := newTask(c, &options)
- return task, nil
- }
-
- func newClient(options Options) (Client, error) {
- //init dbEngine
- dbEngin, _ := gorm.Open(mysql.Open(options.DataSource), &gorm.Config{
- NamingStrategy: schema.NamingStrategy{
- SingularTable: true,
- },
- Logger: logger.Default.LogMode(logger.Warn),
- })
- sqlDB, _ := dbEngin.DB()
- sqlDB.SetMaxIdleConns(10)
- sqlDB.SetMaxOpenConns(50)
- sqlDB.SetConnMaxLifetime(time.Hour)
- c := &client{
- url: options.Url,
- dataSource: options.DataSource,
- DbEngin: dbEngin,
- }
-
- return c, nil
- }
|