Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
admin-backend
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Odysseus
admin-backend
Commits
6282daf5
Commit
6282daf5
authored
May 14, 2024
by
brent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modify client interface
parent
572ac87f
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
244 additions
and
113 deletions
+244
-113
client.go
controllers/client.go
+31
-53
cronjob.go
libs/cronjob/cronjob.go
+188
-59
postgres.go
libs/postgres/postgres.go
+17
-0
client.go
models/client.go
+6
-0
task.go
models/task.go
+2
-1
No files found.
controllers/client.go
View file @
6282daf5
...
...
@@ -12,6 +12,7 @@ import (
"github.com/beego/beego/orm"
"github.com/beego/beego/v2/core/logs"
beego
"github.com/beego/beego/v2/server/web"
"github.com/odysseus/cache/model"
"io"
"math/big"
"net/http"
...
...
@@ -238,7 +239,7 @@ func (server *ClientController) GlobalTasksPerDay() {
body
:=
server
.
Ctx
.
Input
.
RequestBody
appRequest
:=
models
.
AppRequest
{}
err
:=
json
.
Unmarshal
(
body
,
&
appRequest
)
//解析body中数据
logs
.
Debug
(
"appRequest"
,
appRequest
)
logs
.
Debug
(
"appRequest"
,
body
,
appRequest
)
if
appRequest
.
Page
==
0
{
appRequest
.
Page
=
1
...
...
@@ -276,12 +277,12 @@ func (server *ClientController) GlobalTasksPerDay() {
//}
if
appRequest
.
StartTime
!=
""
&&
appRequest
.
EndTime
!=
""
{
temp
,
_
:=
time
.
Parse
(
layout
,
appRequest
.
StartTime
)
startTime
:=
fmt
.
Sprintf
(
temp
.
Format
(
format
))
temp
,
_
=
time
.
Parse
(
layout
,
appRequest
.
EndTime
)
endTime
:=
fmt
.
Sprintf
(
temp
.
Format
(
format
))
countQB
.
And
(
fmt
.
Sprintf
(
"time >= '%s'"
,
startTime
))
.
And
(
fmt
.
Sprintf
(
"time <= '%s'"
,
e
ndTime
))
queryQB
.
And
(
fmt
.
Sprintf
(
"time >= '%s'"
,
startTime
))
.
And
(
fmt
.
Sprintf
(
"time <= '%s'"
,
e
ndTime
))
//temp, _ := time.Parse("2006-01-02T15:04:05Z"
, appRequest.StartTime)
//
startTime := fmt.Sprintf(temp.Format(format))
//
temp, _ = time.Parse(layout, appRequest.EndTime)
//
endTime := fmt.Sprintf(temp.Format(format))
countQB
.
Where
(
fmt
.
Sprintf
(
"time >= '%s'"
,
appRequest
.
StartTime
))
.
And
(
fmt
.
Sprintf
(
"time <= '%s'"
,
appRequest
.
E
ndTime
))
queryQB
.
Where
(
fmt
.
Sprintf
(
"time >= '%s'"
,
appRequest
.
StartTime
))
.
And
(
fmt
.
Sprintf
(
"time <= '%s'"
,
appRequest
.
E
ndTime
))
}
sql
:=
fmt
.
Sprintf
(
"%s SAMPLE BY 1d ALIGN TO CALENDAR"
,
countQB
.
String
())
...
...
@@ -381,8 +382,8 @@ func (server *ClientController) TaskReward() {
offset
:=
(
appRequest
.
Page
-
1
)
*
appRequest
.
Size
size
:=
appRequest
.
Page
*
appRequest
.
Size
if
appRequest
.
Profit
Acc
==
""
{
server
.
respond
(
models
.
MissingParameter
,
"Missing
profit
_acc."
)
if
appRequest
.
Worker
Acc
==
""
{
server
.
respond
(
models
.
MissingParameter
,
"Missing
worker
_acc."
)
return
}
...
...
@@ -394,9 +395,9 @@ func (server *ClientController) TaskReward() {
queryQB
.
Select
(
"id"
,
"type"
,
"time"
,
"workload"
,
"profit_acc"
,
"worker_acc"
)
.
From
(
"bills"
)
if
appRequest
.
Profit
Acc
!=
""
{
countQB
.
Where
(
fmt
.
Sprintf
(
"
profit_acc = '%s'"
,
appRequest
.
Profit
Acc
))
queryQB
.
Where
(
fmt
.
Sprintf
(
"
profit_acc = '%s'"
,
appRequest
.
Profit
Acc
))
if
appRequest
.
Worker
Acc
!=
""
{
countQB
.
Where
(
fmt
.
Sprintf
(
"
worker_acc = '%s'"
,
appRequest
.
Worker
Acc
))
queryQB
.
Where
(
fmt
.
Sprintf
(
"
worker_acc = '%s'"
,
appRequest
.
Worker
Acc
))
}
if
appRequest
.
StartTime
!=
""
&&
appRequest
.
EndTime
!=
""
{
...
...
@@ -440,25 +441,30 @@ func (server *ClientController) TaskReward() {
// 遍历对象数组,按照日期进行分组
var
dates
[]
string
dateString
:=
""
for
_
,
item
:=
range
data
{
// 将日期转换为当天的 0 点
date
:=
time
.
Date
(
item
.
Time
.
Year
(),
item
.
Time
.
Month
(),
item
.
Time
.
Day
(),
0
,
0
,
0
,
0
,
time
.
UTC
)
// 将 item 添加到对应日期的分组中
key
:=
date
.
Format
(
"2006-01-02"
)
key
:=
date
.
Format
(
format
)
//key := date.Format("2006-01-02")
if
!
contains
(
dates
,
key
)
{
dates
=
append
(
dates
,
key
)
dateString
=
dateString
+
"'"
+
key
+
"'"
+
","
}
baseModel
:=
""
typeDe
:=
1
typeDe
:=
0
taskId
:=
item
.
Type
var
taskType
*
model
.
TaskType
if
err
==
nil
{
taskType
,
_
:
=
odysseus
.
GetTaskType
(
int64
(
taskId
))
taskType
,
_
=
odysseus
.
GetTaskType
(
int64
(
taskId
))
if
taskType
!=
nil
{
baseModel
=
taskType
.
BaseModel
typeDe
=
taskType
.
Type
}
}
reTask
:=
&
models
.
Revenues
{
Id
:
item
.
Id
,
Type
:
models
.
ModelType
(
typeDe
)
.
String
(),
...
...
@@ -470,8 +476,11 @@ func (server *ClientController) TaskReward() {
responseTasks
=
append
(
responseTasks
,
reTask
)
groupedItems
[
key
]
=
append
(
groupedItems
[
key
],
reTask
)
}
if
len
(
dates
)
>
0
{
dateString
=
dateString
[
:
len
(
dateString
)
-
1
]
}
wei
,
err
:=
getWeiPerWorkload
(
dates
)
//
wei, err := getWeiPerWorkload(dates)
//wei := []models.WeiPerWorkloadStruct{
// {
// Date: "2024-05-08",
...
...
@@ -480,52 +489,21 @@ func (server *ClientController) TaskReward() {
// Reward: "10000",
// },
//}
sql
=
fmt
.
Sprintf
(
"SELECT * FROM reward_multiplier WHERE time in(%s) ORDER BY time DESC;"
,
dateString
)
wei
,
err
:=
postgres
.
QueryWei
(
sql
)
//return total, data, err
for
_
,
value
:=
range
wei
{
bills
:=
groupedItems
[
value
.
Date
]
key
:=
value
.
Time
.
Format
(
format
)
bills
:=
groupedItems
[
key
]
for
_
,
item
:=
range
bills
{
workload
:=
big
.
NewInt
(
item
.
Workload
)
weiPerWorkload
,
_
:=
strconv
.
Atoi
(
value
.
Wei
PerWorkload
)
weiPerWorkload
,
_
:=
strconv
.
Atoi
(
value
.
Wei
)
weiPerWorkloadBig
:=
big
.
NewInt
(
int64
(
weiPerWorkload
))
incomeWei
:=
new
(
big
.
Int
)
.
Mul
(
workload
,
weiPerWorkloadBig
)
income
:=
weiToAGI
(
incomeWei
)
item
.
Income
=
income
}
}
//for _, task := range data {
// //apiPath := ""
// //model := ""
// baseModel := ""
// //kind := 1
// typeDe := 1
// taskId, err := strconv.Atoi(task.Type)
// if err == nil {
// taskType, _ := odysseus.GetTaskType(int64(taskId))
// if taskType != nil {
// //apiPath = taskType.ApiPath
// //model = taskType.Model
// baseModel = taskType.BaseModel
// //kind = taskType.Kind
// typeDe = taskType.Type
// }
// }
//
// reTask := models.Bills{
// Id: task.Id,
// Type: models.ModelType(typeDe).String(),
// Time: task.Time,
// //Result: task.Result,
// //ApiPath: apiPath,
// //Model: model,
// BaseModel: baseModel,
// //Kind: models.TaskKind(kind).EnString(),
// //Desc: desc,
// Workload: task.Workload,
// ProfitAcc: task.ProfitAcc,
// //WorkerAcc: task.WorkerAcc,
// }
// responseTasks = append(responseTasks, reTask)
//}
responseData
:=
struct
{
Total
int64
`json:"total"`
Data
interface
{}
`json:"data,omitempty"`
...
...
libs/cronjob/cronjob.go
View file @
6282daf5
...
...
@@ -2,19 +2,22 @@ package cronjob
import
(
"ai_developer_admin/libs/mysql"
"ai_developer_admin/libs/odysseus"
"ai_developer_admin/libs/postgres"
"ai_developer_admin/libs/redis"
"ai_developer_admin/libs/registry"
"ai_developer_admin/libs/snowflake"
"ai_developer_admin/models"
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"github.com/beego/beego/v2/core/logs"
beego
"github.com/beego/beego/v2/server/web"
qdb
"github.com/questdb/go-questdb-client/v2"
"github.com/robfig/cron/v3"
"io"
"net/http"
"sort"
"strconv"
"strings"
...
...
@@ -34,6 +37,7 @@ func Start() {
//defer loopCronTask.Stop()
startHeatKey
()
startDebit
()
startRevenue
()
//startRegistBackend()
}
...
...
@@ -262,76 +266,200 @@ func startRevenue() {
logs
.
Debug
(
"startRevenue"
)
//spec := "*/50 */23 * * * ?" //"@every 1h"
//spec := "01 01 00 * * ?"
spec
,
_
:=
beego
.
AppConfig
.
String
(
"debitTime"
)
//
spec, _ := beego.AppConfig.String("debitTime")
//spec := "@every 1m"
dbhost
,
_
:=
beego
.
AppConfig
.
String
(
"postgreshost"
)
dbport
,
_
:=
beego
.
AppConfig
.
Int
(
"senderport"
)
spec
:=
"@every 6h"
//dbhost, _ := beego.AppConfig.String("postgreshost")
//dbport, _ := beego.AppConfig.Int("senderport")
questAddr
:=
fmt
.
Sprintf
(
"%s:%d"
,
dbhost
,
dbport
)
//
questAddr := fmt.Sprintf("%s:%d", dbhost, dbport)
revenueTask
.
AddFunc
(
spec
,
func
()
{
logs
.
Debug
(
"startRevenue revenueTask"
)
ctx
:=
context
.
TODO
()
addrOpt
:=
qdb
.
WithAddress
(
questAddr
)
sender
,
err
:=
qdb
.
NewLineSender
(
ctx
,
addrOpt
)
_
,
multipliers
,
err
:=
checkMultiplier
()
if
err
!=
nil
{
logs
.
Debug
(
"startRevenue NewLineSender = %s"
,
err
.
Error
())
return
}
defer
sender
.
Close
()
var
dates
[]
string
for
_
,
value
:=
range
multipliers
{
temp
:=
fmt
.
Sprintf
(
"+%dh"
,
24
)
m
,
_
:=
time
.
ParseDuration
(
temp
)
time
:=
value
.
Time
.
Add
(
m
)
date
:=
fmt
.
Sprintf
(
time
.
Format
(
"2006-01-02"
))
dates
=
append
(
dates
,
date
)
}
if
len
(
dates
)
<=
0
{
dates
=
checkDate
()
}
reaponse
,
err
:=
getWeiPerWorkload
(
dates
)
if
err
!=
nil
{
return
}
err
=
insertMultiplier
(
reaponse
)
if
err
!=
nil
{
return
}
//ctx := context.TODO()
//addrOpt := qdb.WithAddress(questAddr)
//sender, err := qdb.NewLineSender(ctx, addrOpt)
//
//if err != nil {
// logs.Debug("startRevenue NewLineSender = %s", err.Error())
// return
//}
//defer sender.Close()
// Make sure to close the sender on exit to release resources.
currentTime
:=
time
.
Now
()
temp
:=
fmt
.
Sprintf
(
"-%dh"
,
2
)
m
,
_
:=
time
.
ParseDuration
(
temp
)
dayTime
:=
currentTime
.
Add
(
m
)
endTime
:=
time
.
Date
(
dayTime
.
Year
(),
dayTime
.
Month
(),
dayTime
.
Day
(),
23
,
59
,
59
,
0
,
time
.
UTC
)
startTime
:=
time
.
Date
(
dayTime
.
Year
(),
dayTime
.
Month
(),
dayTime
.
Day
(),
0
,
0
,
0
,
0
,
time
.
UTC
)
start
:=
fmt
.
Sprintf
(
startTime
.
Format
(
format
))
end
:=
fmt
.
Sprintf
(
endTime
.
Format
(
format
))
//temp, _ := time.Parse("2006-01-02", value.Date)
//startTime :=
//endTime := time.Date(dayTime.Year(), dayTime.Month(), dayTime.Day(), 23, 59, 59, 0, time.UTC)
//startTime := time.Date(dayTime.Year(), dayTime.Month(), dayTime.Day(), 0, 0, 0, 0, time.UTC)
//start := fmt.Sprintf(startTime.Format(format))
//end := fmt.Sprintf(endTime.Format(format))
//logs.Debug("startRevenue before sql = %s", dayTime)
//sql := fmt.Sprintf("SELECT id,time,type,workload,profit_acc,worker_acc FROM bills WHERE time >= '%s' and time <= '%s';", start, end)
//data, err := postgres.QueryBills(sql)
//if err != nil {
// logs.Debug("startRevenue postgres CountFunds = %s", err.Error())
// return
//}
//if data == nil {
// logs.Debug("startRevenue data = nil")
// return
//}
//for _, bill := range data {
//
// //nanoseconds := int64(uint64(dayTime.UnixNano()))
// //seconds := nanoseconds / 1e9
//
// taskId := bill.Type
// typeDesc := ""
// baseModel := ""
// if err == nil {
// taskType, err1 := odysseus.GetTaskType(int64(taskId))
// if err1 == nil {
// typeDesc = models.ModelType(taskType.Type).String()
// baseModel = taskType.BaseModel
// }
// }
//
// err = sender.Table("revenues").
// Symbol("id", bill.Id).
// Symbol("type", typeDesc).
// Symbol("base_model", baseModel).
// Symbol("profit_acc", bill.ProfitAcc).
// Symbol("worker_acc", bill.WorkerAcc).
// Int64Column("workload", bill.Workload).
// Int64Column("income", int64(0)).
// TimestampColumn("time", bill.Time).
// AtNow(ctx)
//
// if err != nil {
// logs.Debug("startRevenue sender = %s,id = %d", err.Error(), bill.Id)
// }
// //break
//}
//
//err = sender.Flush(ctx)
//if err != nil {
// logs.Debug("startRevenue Flush = %s", err.Error())
//}
})
revenueTask
.
Start
()
}
logs
.
Debug
(
"startRevenue before sql = %s"
,
dayTime
)
func
checkDate
()
[]
string
{
sql
:=
"SELECT count(*),time FROM bills SAMPLE BY 1d ALIGN TO CALENDAR ORDER BY time DESC;"
date
,
err
:=
postgres
.
QueryBills
(
sql
)
if
err
!=
nil
{
return
nil
}
var
dates
[]
string
for
_
,
value
:=
range
date
{
dateString
:=
fmt
.
Sprintf
(
value
.
Time
.
Format
(
"2006-01-02"
))
dates
=
append
(
dates
,
dateString
)
}
return
dates
}
sql
:=
fmt
.
Sprintf
(
"SELECT id,time,type,workload,profit_acc,worker_acc FROM bills WHERE uid != '0' and time >= '%s' and time <= '%s';"
,
start
,
end
)
data
,
err
:=
postgres
.
QueryBills
(
sql
)
func
getWeiPerWorkload
(
dates
[]
string
)
([]
models
.
WeiPerWorkloadStruct
,
error
)
{
host
,
_
:=
beego
.
AppConfig
.
String
(
"rewardUrl"
)
url
:=
host
+
"/api/v1/workload"
payload
:=
new
(
bytes
.
Buffer
)
json
.
NewEncoder
(
payload
)
.
Encode
(
dates
)
//if len(dates) <= 0 {
// payload = nil
//}
resp
,
err
:=
http
.
Post
(
url
,
"application/json;charset=UTF-8"
,
payload
)
if
err
!=
nil
{
logs
.
Debug
(
"startRevenue postgres CountFunds = %s"
,
err
.
Error
()
)
return
logs
.
Info
(
"Error sending request:"
,
err
)
return
nil
,
err
}
if
data
==
nil
{
logs
.
Debug
(
"startRevenue data = nil"
)
return
defer
resp
.
Body
.
Close
()
logs
.
Info
(
"getWeiPerWorkload resp code"
,
resp
.
StatusCode
)
body
,
err
:=
io
.
ReadAll
(
resp
.
Body
)
if
err
!=
nil
{
logs
.
Info
(
"Error reading response:"
,
err
)
return
nil
,
err
}
var
response
models
.
WeiPerWorkloadResponse
if
err
:=
json
.
Unmarshal
(
body
,
&
response
);
err
!=
nil
{
logs
.
Info
(
"Error Unmarshal response:"
,
err
)
return
nil
,
err
}
return
response
.
Data
,
nil
}
func
checkMultiplier
()
(
int64
,
[]
models
.
Revenues
,
error
)
{
sql
:=
"SELECT count(*) FROM reward_multiplier;"
total
,
err
:=
postgres
.
QueryTotal
(
sql
)
if
total
<=
0
{
return
total
,
nil
,
err
}
sql
=
"SELECT * FROM reward_multiplier ORDER BY time DESC LIMIT 0,1;"
data
,
err
:=
postgres
.
QueryRevenues
(
sql
)
return
total
,
data
,
err
}
for
_
,
bill
:=
range
data
{
func
insertMultiplier
(
data
[]
models
.
WeiPerWorkloadStruct
)
error
{
if
len
(
data
)
<=
0
{
return
errors
.
New
(
"data len < 0"
)
}
dbhost
,
_
:=
beego
.
AppConfig
.
String
(
"postgreshost"
)
dbport
,
_
:=
beego
.
AppConfig
.
Int
(
"senderport"
)
//nanoseconds := int64(uint64(dayTime.UnixNano()))
//seconds := nanoseconds / 1e9
questAddr
:=
fmt
.
Sprintf
(
"%s:%d"
,
dbhost
,
dbport
)
ctx
:=
context
.
TODO
()
addrOpt
:=
qdb
.
WithAddress
(
questAddr
)
sender
,
err
:=
qdb
.
NewLineSender
(
ctx
,
addrOpt
)
taskId
:=
bill
.
Type
typeDesc
:=
""
baseModel
:=
""
if
err
==
nil
{
taskType
,
err1
:=
odysseus
.
GetTaskType
(
int64
(
taskId
))
if
err1
==
nil
{
typeDesc
=
models
.
ModelType
(
taskType
.
Type
)
.
String
()
baseModel
=
taskType
.
BaseModel
}
}
err
=
sender
.
Table
(
"revenues"
)
.
Symbol
(
"id"
,
bill
.
Id
)
.
Symbol
(
"type"
,
typeDesc
)
.
Symbol
(
"base_model"
,
baseModel
)
.
Symbol
(
"profit_acc"
,
bill
.
ProfitAcc
)
.
Symbol
(
"worker_acc"
,
bill
.
WorkerAcc
)
.
Int64Column
(
"workload"
,
bill
.
Workload
)
.
Int64Column
(
"income"
,
int64
(
0
))
.
TimestampColumn
(
"time"
,
bill
.
Time
)
.
if
err
!=
nil
{
logs
.
Debug
(
"startRevenue NewLineSender = %s"
,
err
.
Error
())
return
err
}
defer
sender
.
Close
()
for
_
,
value
:=
range
data
{
if
strings
.
Compare
(
value
.
WeiPerWorkload
,
"0"
)
==
0
{
continue
}
temp
,
_
:=
time
.
Parse
(
"2006-01-02"
,
value
.
Date
)
nanoseconds
:=
int64
(
uint64
(
temp
.
UnixNano
()))
seconds
:=
nanoseconds
/
1e9
id
,
_
:=
snowflake
.
NextId
()
err
=
sender
.
Table
(
"reward_multiplier"
)
.
Symbol
(
"wei"
,
value
.
WeiPerWorkload
)
.
Int64Column
(
"id"
,
int64
(
id
))
.
TimestampColumn
(
"time"
,
time
.
Unix
(
seconds
,
nanoseconds
%
1e9
))
.
AtNow
(
ctx
)
if
err
!=
nil
{
logs
.
Debug
(
"startRevenue sender = %s,id = %d"
,
err
.
Error
(),
bill
.
Id
)
logs
.
Debug
(
"startRevenue sender = %s,id = %d"
,
err
.
Error
())
return
err
}
//break
}
...
...
@@ -339,9 +467,10 @@ func startRevenue() {
err
=
sender
.
Flush
(
ctx
)
if
err
!=
nil
{
logs
.
Debug
(
"startRevenue Flush = %s"
,
err
.
Error
())
return
err
}
})
debitTask
.
Start
()
return
nil
}
func
startRegistBackend
()
{
...
...
libs/postgres/postgres.go
View file @
6282daf5
...
...
@@ -62,6 +62,7 @@ func init() {
}
createFundTable
()
createRevenueTable
()
createRewardMultiplierTable
()
}
func
createFundTable
()
{
...
...
@@ -82,6 +83,15 @@ func createRevenueTable() {
}
}
func
createRewardMultiplierTable
()
{
sql
:=
"CREATE TABLE IF NOT EXISTS 'reward_multiplier' (
\n
id LONG,
\n
time TIMESTAMP,
\n
wei SYMBOL CAPACITY 128 CACHE INDEX CAPACITY 8192) timestamp (time) PARTITION BY DAY WAL;"
qs
:=
ormpost
.
Raw
(
sql
)
_
,
err
:=
qs
.
Exec
()
if
err
!=
nil
{
logs
.
Debug
(
"createRewardMultiplierTable"
,
err
.
Error
())
}
}
func
QueryTset
(
sql
string
,
args
...
interface
{})
([]
models
.
Bills
,
error
)
{
logs
.
Debug
(
"QueryBills = "
,
sql
)
qs
:=
ormpost
.
Raw
(
sql
,
args
)
...
...
@@ -185,6 +195,13 @@ func QueryRevenues(sql string) ([]models.Revenues, error) {
return
containers
,
err
}
func
QueryWei
(
sql
string
)
([]
models
.
WeiStruct
,
error
)
{
logs
.
Debug
(
"QueryWei = "
,
sql
)
var
containers
[]
models
.
WeiStruct
_
,
err
:=
ormpost
.
Raw
(
sql
)
.
QueryRows
(
&
containers
)
return
containers
,
err
}
func
QueryTotal
(
sql
string
)
(
int64
,
error
)
{
logs
.
Debug
(
"QueryBills = "
,
sql
)
var
count
int64
...
...
models/client.go
View file @
6282daf5
...
...
@@ -16,6 +16,12 @@ type Revenues struct {
Income
*
big
.
Float
`json:"income,omitempty";orm:"column(income)"`
}
type
WeiStruct
struct
{
Id
string
`json:"id,omitempty";orm:"column(id)"`
Time
time
.
Time
`json:"time,omitempty";orm:"column(time);type(datetime)"`
Wei
string
`json:"wei,omitempty";orm:"column(wei)"`
}
type
WeiPerWorkloadStruct
struct
{
Date
string
`json:"date,omitempty"`
WeiPerWorkload
string
`json:"weiPerWorkload,omitempty"`
...
...
models/task.go
View file @
6282daf5
...
...
@@ -283,6 +283,7 @@ type TaskHeat struct {
EstimatExeTime
int
`json:"estimat_exe_time"`
StartUpTime
int
`json:"start_up_time"`
RunningMem
int
`json:"running_mem";orm:"column(running_mem)"`
CMD
interface
{}
`json:"cmd";orm:"column(cmd)"`
}
type
AddTaskType
struct
{
...
...
@@ -334,7 +335,7 @@ func (m ModelType) String() string {
case
AUDIOTOAUDIO
:
return
"audio2audio"
default
:
return
"
未知类型
"
return
"
unknown
"
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment