Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6fad80b5cd | |||
| 1d0e1812c8 | |||
| 40490ffe43 | |||
| 455b6d40de | |||
| 62dcac103f | |||
| 63a83ddd5e | |||
| f8d3d6a0ad |
+5
-12
@@ -1,27 +1,20 @@
|
||||
FROM golang:alpine AS backend-builder
|
||||
RUN apk add --no-cache build-base
|
||||
FROM golang:latest AS backend-builder
|
||||
RUN apt update
|
||||
RUN apt install -y build-essential
|
||||
WORKDIR /build
|
||||
COPY . .
|
||||
ENV CGO_ENABLED=1
|
||||
RUN go build -ldflags="-s -w" -o bin/server
|
||||
|
||||
RUN apk add --no-cache upx
|
||||
RUN apt install -y upx-ucl
|
||||
|
||||
RUN upx --best --lzma bin/server
|
||||
|
||||
# 使用更小的 Debian
|
||||
FROM debian:bookworm-slim
|
||||
# 安装最小运行时依赖
|
||||
RUN apt-get update && apt-get install -y \
|
||||
ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
FROM golang:latest
|
||||
COPY --from=backend-builder /build/bin/server /app/server
|
||||
COPY static /app/static
|
||||
COPY static/*.so /app/
|
||||
WORKDIR /app
|
||||
# 确保文件有执行权限
|
||||
RUN chmod +x /app/server
|
||||
ENV LD_LIBRARY_PATH=/app
|
||||
EXPOSE 8080
|
||||
RUN ls -a
|
||||
CMD ["./server"]
|
||||
@@ -5,9 +5,13 @@ import (
|
||||
"fmt"
|
||||
_ "image/jpeg"
|
||||
_ "image/png"
|
||||
"likedream-goframe/internal/framework/logger"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
ort "github.com/yalue/onnxruntime_go"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type ImageClassifier struct {
|
||||
@@ -21,7 +25,13 @@ type ImageClassifier struct {
|
||||
// NewImageClassifier 创建新的图片分类器
|
||||
func NewImageClassifier(modelPath, classesPath string) (*ImageClassifier, error) {
|
||||
// 初始化ONNX Runtime
|
||||
err := ort.InitializeEnvironment()
|
||||
exePath := strings.ToLower(os.Args[0])
|
||||
// 获取绝对路径
|
||||
absPath, err := filepath.Abs(exePath)
|
||||
dir := filepath.Dir(absPath)
|
||||
logger.Logger.Info("初始化onnx:", zap.String("绝对路径", absPath), zap.String("父文件夹", dir))
|
||||
ort.SetSharedLibraryPath(dir)
|
||||
err = ort.InitializeEnvironment()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("初始化ONNX Runtime失败: %v", err)
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ func (c *CpdailyTaskHandler) ProcessTask(ctx context.Context, task *asynq.Task)
|
||||
e = db.Global.CpTaskLog.Create().
|
||||
SetCpTaskID(taskPayload.CpTaskID).
|
||||
SetCpUserID(targetTask.Edges.CpUser.ID).
|
||||
SetSystemUserID(targetTask.Edges.CpUser.Edges.Sysuser.ID).
|
||||
SetSystemUserID(targetTask.Edges.SysUser.ID).
|
||||
SetIsSuccess(false).
|
||||
SetRealName("").
|
||||
SetErrorMessage(errorMessage).
|
||||
|
||||
@@ -50,7 +50,7 @@ func Pass(err *error) {
|
||||
if r := recover(); r != nil {
|
||||
e, ok := errorx.ErrorFromPanic(r)
|
||||
if ok {
|
||||
*err = e
|
||||
*err = oops.Wrap(e)
|
||||
} else {
|
||||
panic(r)
|
||||
}
|
||||
@@ -61,7 +61,7 @@ func HandleError(f func(error)) {
|
||||
if r := recover(); r != nil {
|
||||
e, ok := errorx.ErrorFromPanic(r)
|
||||
if ok {
|
||||
f(e)
|
||||
f(oops.Wrap(e))
|
||||
} else {
|
||||
panic(r)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user