Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
a32889eba0
|
@ -0,0 +1,44 @@
|
|||
|
||||
## 使用官方Go镜像作为构建环境
|
||||
#FROM golang:1.21.0 AS builder
|
||||
#
|
||||
## 设置工作目录
|
||||
#WORKDIR /app
|
||||
#
|
||||
## 复制项目源码
|
||||
#COPY . .
|
||||
#
|
||||
## 复制go模块依赖文件
|
||||
#COPY go.mod go.sum ./
|
||||
#
|
||||
## 安装go模块依赖
|
||||
#RUN go env -w GOPROXY=https://goproxy.cn,direct
|
||||
#RUN go mod tidy
|
||||
#
|
||||
## 编译Go应用程序,生成静态链接的二进制文件
|
||||
#RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o server .
|
||||
|
||||
# 创建最终镜像,用于运行编译后的Go程序
|
||||
FROM alpine
|
||||
|
||||
RUN echo 'http://mirrors.ustc.edu.cn/alpine/v3.5/main' > /etc/apk/repositories \
|
||||
&& echo 'http://mirrors.ustc.edu.cn/alpine/v3.5/community' >>/etc/apk/repositories \
|
||||
&& apk update && apk add tzdata \
|
||||
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
||||
&& echo "Asia/Shanghai" > /etc/timezone \
|
||||
|
||||
ENV server = "admin"
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /app
|
||||
|
||||
# 将编译好的二进制文件从构建阶段复制到运行阶段
|
||||
COPY /server .
|
||||
#COPY --from=builder /app/server .
|
||||
COPY .env .
|
||||
#COPY ./front ./front
|
||||
|
||||
|
||||
ENV TZ=Asia/Shanghai
|
||||
# 设置容器启动时运行的命令
|
||||
ENTRYPOINT ["/app/server", "-a", "$server"]
|
|
@ -0,0 +1,54 @@
|
|||
package croncmdmodel
|
||||
|
||||
import (
|
||||
"github.com/qit-team/snow-core/db"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
|
||||
var (
|
||||
once sync.Once
|
||||
m *CronCmdModel
|
||||
)
|
||||
|
||||
// 实体
|
||||
type CronCmd struct {
|
||||
CmdId string `xorm:"'cmd_id' UNSIGNED INT"`
|
||||
CmdName string `xorm:"'cmd_name' varchar(20)"`
|
||||
UserIds string `xorm:"'user_ids' varchar(50)"`
|
||||
EntryId int `xorm:"'entry_id' int(10)"`
|
||||
ReadDbId int `xorm:"'read_db_id' int(10)"`
|
||||
WriteDbId int `xorm:"'write_db_id' int(11)"`
|
||||
ExecuteType int `xorm:"'execute_type' TINYINT"`
|
||||
ExecuteRead string `xorm:"'execute_read' TEXT"`
|
||||
ExecuteWrite string `xorm:"'execute_write' TEXT"`
|
||||
Cron string `xorm:"'cron' varchar(64)"`
|
||||
MatchJson string `xorm:"'match_json' JSON"`
|
||||
SendTimeType int `xorm:"'send_time_type' TINYINT"`
|
||||
SendLimit int `xorm:"'send_limit' SMALLINT"`
|
||||
ReportChannelId int `xorm:"'report_channel_id' int(11)"`
|
||||
CreateTime time.Time `xorm:"'create_time' datetime"`
|
||||
UpdateTime time.Time `xorm:"'update_time' timestamp"`
|
||||
Status int `xorm:"'status' TINYINT"`
|
||||
FailReason string `xorm:"'fail_reason' varchar(200)"`
|
||||
DeletedTime time.Time `xorm:"'deleted_time' datetime"`
|
||||
}
|
||||
|
||||
// 表名
|
||||
func (m *CronCmd) TableName() string {
|
||||
return "cron_cmd"
|
||||
}
|
||||
|
||||
// 私有化,防止被外部new
|
||||
type CronCmdModel struct {
|
||||
db.Model //组合基础Model,集成基础Model的属性和方法
|
||||
}
|
||||
|
||||
// 单例模式
|
||||
func GetInstance() *CronCmdModel {
|
||||
once.Do(func() {
|
||||
m = new(CronCmdModel)
|
||||
//m.DiName = "" //设置数据库实例连接,默认db.SingletonMain
|
||||
})
|
||||
return m
|
||||
}
|
Loading…
Reference in New Issue