hashcat 进度反馈和列表查询接口
Former-commit-id: 6b8598fe77e056b5ce614fed0294d3e395a23459
This commit is contained in:
parent
38e1416a6e
commit
0190b9e204
|
@ -442,3 +442,28 @@ type NodeAsset {
|
|||
GpuAvail int64 `json:"GpuAvail"` // gpu可用数
|
||||
ParticipantId int64 `json:"ParticipantId"` // 集群动态信息id
|
||||
}
|
||||
|
||||
type SaveHashcatReq {
|
||||
CrackTaskId int64 `json:"crackTaskId"` // 任务id
|
||||
CrackStatus string `json:"crackStatus"` // 状态
|
||||
CrackStartTime string `json:"crackStartTime"` //开始时间
|
||||
CrackEstimatedTime string `json:"crackEstimatedTime"` // 预计时间
|
||||
CrackProgress string `json:"crackProgress"` // 进度
|
||||
CrackResult string `json:"crackResult"` // 结果
|
||||
}
|
||||
|
||||
type getHashcatHandlerReq {
|
||||
CrackTaskId int64 `json:"crackTaskId"` // 任务id
|
||||
}
|
||||
|
||||
type getHashcatHandlerResp {
|
||||
HashCatList []HashCat `json:"hashCatList"`
|
||||
}
|
||||
|
||||
type HashCat {
|
||||
CrackStatus string `json:"crackStatus"` // 状态
|
||||
CrackStartTime string `json:"crackStartTime"` //开始时间
|
||||
CrackEstimatedTime string `json:"crackEstimatedTime"` // 预计时间
|
||||
CrackProgress string `json:"crackProgress"` // 进度
|
||||
CrackResult string `json:"crackResult"` // 结果
|
||||
}
|
|
@ -68,6 +68,11 @@ service pcm {
|
|||
@handler nodeAssetsHandler
|
||||
get /core/assets () returns (NodeAssetsResp)
|
||||
|
||||
@handler saveHashcatHandler
|
||||
post /core/saveHashcat (SaveHashcatReq) returns ()
|
||||
|
||||
@handler getHashcatHandler
|
||||
get /core/getHashcat/:crackTaskId (getHashcatHandlerReq) returns (getHashcatHandlerResp)
|
||||
}
|
||||
|
||||
//hpc二级接口
|
||||
|
@ -97,7 +102,6 @@ service pcm {
|
|||
|
||||
@handler deleteYamlHandler
|
||||
get /cloud/DeleteYaml (ApplyReq) returns (DeleteResp)
|
||||
|
||||
}
|
||||
|
||||
//智算二级接口
|
||||
|
@ -132,16 +136,16 @@ service pcm {
|
|||
// ListAlgorithms 查询创建算法列表
|
||||
@handler ListAlgorithms
|
||||
//get /ai/ListAlgorithms (ListAlgorithmsReq) returns (ListAlgorithmsResp)
|
||||
get /ai/ListAlgorithms/:projectId (ListAlgorithmsReq) returns (ListAlgorithmsResp)
|
||||
get /ai/ListAlgorithms/:projectId (ListAlgorithmsReq) returns (ListAlgorithmsResp)
|
||||
// DeleteAlgorithm 删除算法
|
||||
@handler DeleteAlgorithm
|
||||
delete /ai/DeleteAlgorithm/:projectId/:algorithmId (DeleteAlgorithmReq) returns (DeleteAlgorithmResp)
|
||||
delete /ai/DeleteAlgorithm/:projectId/:algorithmId (DeleteAlgorithmReq) returns (DeleteAlgorithmResp)
|
||||
// CreateTrainingJob 创建训练作业
|
||||
@handler CreateTrainingJobHandler
|
||||
post /ai/CreateTrainingJob/:projectId (CreateTrainingJobReq) returns (CreateTrainingJobResp)
|
||||
// ShowAlgorithmByUuid 展示算法详情
|
||||
@handler ShowAlgorithmByUuid
|
||||
get /ai/ShowAlgorithmByUuid/:projectId/:algorithmId (ShowAlgorithmByUuidReq) returns (ShowAlgorithmByUuidResp)
|
||||
get /ai/ShowAlgorithmByUuid/:projectId/:algorithmId (ShowAlgorithmByUuidReq) returns (ShowAlgorithmByUuidResp)
|
||||
|
||||
// creat export task 创建导出任务
|
||||
@handler CreateExportTaskHandler
|
||||
|
@ -166,7 +170,7 @@ service pcm {
|
|||
get /ai/ShowService/:projectId/:serviceId (ShowServiceReq) returns (ShowServiceResp)
|
||||
// Delete service 删除服务
|
||||
@handler DeleteServiceHandler
|
||||
delete /ai/DeleteService/:projectId/:serviceId (DeleteServiceReq) returns (DeleteServiceResp)
|
||||
delete /ai/DeleteService/:projectId/:serviceId (DeleteServiceReq) returns (DeleteServiceResp)
|
||||
// ListClusters查询专属资源池列表
|
||||
@handler ListClustersHandler
|
||||
get /ai/ListClusters (ListClustersReq) returns (ListClustersResp)
|
||||
|
@ -236,7 +240,6 @@ service pcm {
|
|||
group : vm
|
||||
)
|
||||
service pcm {
|
||||
|
||||
@handler GetComputeLimitsHandler
|
||||
get /vm/getComputeLimits (GetComputeLimitsReq) returns (GetComputeLimitsResp)
|
||||
@handler GetVolumeLimitsHandler
|
||||
|
@ -256,17 +259,17 @@ service pcm {
|
|||
@handler DeleteNetworkHandler
|
||||
delete /vm/deleteNetwork (DeleteNetworkReq) returns (DeleteNetworkResp)
|
||||
@handler CreateNetworkHandler
|
||||
post /vm/createNetwork (CreateNetworkReq) returns (CreateNetworkResp)
|
||||
post /vm/createNetwork (CreateNetworkReq) returns (CreateNetworkResp)
|
||||
@handler CreateSubnetHandler
|
||||
post /vm/createSubnet (CreateSubnetReq) returns (CreateSubnetResp)
|
||||
post /vm/createSubnet (CreateSubnetReq) returns (CreateSubnetResp)
|
||||
@handler ListVolumesDetailHandler
|
||||
get /vm/listVolumesDetail (ListVolumesDetailReq) returns (ListVolumesDetailResp)
|
||||
get /vm/listVolumesDetail (ListVolumesDetailReq) returns (ListVolumesDetailResp)
|
||||
@handler DeleteVolumeHandler
|
||||
delete /vm/deleteVolume (DeleteVolumeReq) returns (DeleteVolumeResp)
|
||||
@handler CreateVolumeHandler
|
||||
post /vm/createVolume (CreateVolumeReq) returns (CreateVolumeResp)
|
||||
post /vm/createVolume (CreateVolumeReq) returns (CreateVolumeResp)
|
||||
@handler ListFlavorsDetailHandler
|
||||
get /vm/listFlavorsDetail (ListFlavorsDetailReq) returns (ListFlavorsDetailResp)
|
||||
get /vm/listFlavorsDetail (ListFlavorsDetailReq) returns (ListFlavorsDetailResp)
|
||||
@handler CreateServerHandler
|
||||
post /vm/createServer (CreateServerReq) returns (CreateServerResp)
|
||||
post /vm/createServer (CreateServerReq) returns (CreateServerResp)
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package core
|
||||
|
||||
import (
|
||||
"gitlink.org.cn/jcce-pcm/utils/result"
|
||||
"net/http"
|
||||
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/core"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
|
||||
)
|
||||
|
||||
func GetHashcatHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
l := core.NewGetHashcatLogic(r.Context(), svcCtx)
|
||||
resp, err := l.GetHashcat()
|
||||
result.HttpResult(r, w, resp, err)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package core
|
||||
|
||||
import (
|
||||
"gitlink.org.cn/jcce-pcm/utils/result"
|
||||
"net/http"
|
||||
|
||||
"github.com/zeromicro/go-zero/rest/httpx"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/core"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
|
||||
)
|
||||
|
||||
func SaveHashcatHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
var req types.SaveHashcatReq
|
||||
if err := httpx.Parse(r, &req); err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
return
|
||||
}
|
||||
|
||||
l := core.NewSaveHashcatLogic(r.Context(), svcCtx)
|
||||
err := l.SaveHashcat(&req)
|
||||
result.HttpResult(r, w, nil, err)
|
||||
}
|
||||
}
|
|
@ -94,6 +94,16 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
|
|||
Path: "/core/assets",
|
||||
Handler: core.NodeAssetsHandler(serverCtx),
|
||||
},
|
||||
{
|
||||
Method: http.MethodPost,
|
||||
Path: "/core/saveHashcat",
|
||||
Handler: core.SaveHashcatHandler(serverCtx),
|
||||
},
|
||||
{
|
||||
Method: http.MethodGet,
|
||||
Path: "/core/getHashcat/:crackTaskId",
|
||||
Handler: core.GetHashcatHandler(serverCtx),
|
||||
},
|
||||
},
|
||||
rest.WithPrefix("/pcm/v1"),
|
||||
)
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
package core
|
||||
|
||||
import (
|
||||
"context"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/model"
|
||||
"gitlink.org.cn/jcce-pcm/utils/tool"
|
||||
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type GetHashcatLogic struct {
|
||||
logx.Logger
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
}
|
||||
|
||||
func NewGetHashcatLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetHashcatLogic {
|
||||
return &GetHashcatLogic{
|
||||
Logger: logx.WithContext(ctx),
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetHashcatLogic) GetHashcat() (resp *types.GetHashcatHandlerResp, err error) {
|
||||
// todo: add your logic here and delete this line
|
||||
var hashcatList []*model.THashcat
|
||||
tx := l.svcCtx.DbEngin.Find(&hashcatList)
|
||||
if tx.Error != nil {
|
||||
return nil, tx.Error
|
||||
}
|
||||
result := types.GetHashcatHandlerResp{}
|
||||
tool.Convert(hashcatList, &result.HashCatList)
|
||||
return &result, nil
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
package core
|
||||
|
||||
import (
|
||||
"context"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/model"
|
||||
"gitlink.org.cn/jcce-pcm/utils/tool"
|
||||
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
|
||||
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type SaveHashcatLogic struct {
|
||||
logx.Logger
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
}
|
||||
|
||||
func NewSaveHashcatLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SaveHashcatLogic {
|
||||
return &SaveHashcatLogic{
|
||||
Logger: logx.WithContext(ctx),
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
}
|
||||
}
|
||||
|
||||
func (l *SaveHashcatLogic) SaveHashcat(req *types.SaveHashcatReq) error {
|
||||
var hashcat model.THashcat
|
||||
tool.Convert(req, &hashcat)
|
||||
hashcat.Id = tool.GenSnowflakeID()
|
||||
tx := l.svcCtx.DbEngin.Save(hashcat)
|
||||
if tx.Error != nil {
|
||||
return tx.Error
|
||||
}
|
||||
return nil
|
||||
}
|
|
@ -413,6 +413,31 @@ type NodeAsset struct {
|
|||
ParticipantId int64 `json:"ParticipantId"` // 集群动态信息id
|
||||
}
|
||||
|
||||
type SaveHashcatReq struct {
|
||||
CrackTaskId int64 `json:"crackTaskId"` // 任务id
|
||||
CrackStatus string `json:"crackStatus"` // 状态
|
||||
CrackStartTime string `json:"crackStartTime"` //开始时间
|
||||
CrackEstimatedTime string `json:"crackEstimatedTime"` // 预计时间
|
||||
CrackProgress string `json:"crackProgress"` // 进度
|
||||
CrackResult string `json:"crackResult"` // 结果
|
||||
}
|
||||
|
||||
type GetHashcatHandlerReq struct {
|
||||
CrackTaskId int64 `json:"crackTaskId"` // 任务id
|
||||
}
|
||||
|
||||
type GetHashcatHandlerResp struct {
|
||||
HashCatList []HashCat `json:"hashCatList"`
|
||||
}
|
||||
|
||||
type HashCat struct {
|
||||
CrackStatus string `json:"crackStatus"` // 状态
|
||||
CrackStartTime string `json:"crackStartTime"` //开始时间
|
||||
CrackEstimatedTime string `json:"crackEstimatedTime"` // 预计时间
|
||||
CrackProgress string `json:"crackProgress"` // 进度
|
||||
CrackResult string `json:"crackResult"` // 结果
|
||||
}
|
||||
|
||||
type Job struct {
|
||||
SlurmVersion string `json:"slurmVersion"`
|
||||
Name string `json:"name"`
|
||||
|
|
|
@ -37,20 +37,20 @@ type (
|
|||
Id int64 `db:"id"` // id
|
||||
TaskId int64 `db:"task_id"` // 任务id
|
||||
ParticipantId int64 `db:"participant_id"` // 集群静态信息id
|
||||
ApiVersion string `db:"api_version"`
|
||||
Name string `db:"name"` // 名称
|
||||
Namespace string `db:"namespace"` // 命名空间
|
||||
Kind string `db:"kind"` // 种类
|
||||
Status string `db:"status"` // 状态
|
||||
StartTime string `db:"start_time"` // 开始时间
|
||||
RunningTime int64 `db:"running_time"` // 运行时长
|
||||
CreatedBy int64 `db:"created_by"` // 创建人
|
||||
CreatedTime sql.NullTime `db:"created_time"` // 创建时间
|
||||
UpdatedBy int64 `db:"updated_by"` // 更新人
|
||||
UpdatedTime sql.NullTime `db:"updated_time"` // 更新时间
|
||||
DeletedFlag int64 `db:"deleted_flag"` // 是否删除(0-否,1-是)
|
||||
ApiVersion string `db:"api_version"` //api版本
|
||||
Name string `db:"name"` // 名称
|
||||
Namespace string `db:"namespace"` // 命名空间
|
||||
Kind string `db:"kind"` // 种类
|
||||
Status string `db:"status"` // 状态
|
||||
StartTime string `db:"start_time"` // 开始时间
|
||||
RunningTime int64 `db:"running_time"` // 运行时长
|
||||
CreatedBy int64 `db:"created_by"` // 创建人
|
||||
CreatedTime sql.NullTime `db:"created_time"` // 创建时间
|
||||
UpdatedBy int64 `db:"updated_by"` // 更新人
|
||||
UpdatedTime sql.NullTime `db:"updated_time"` // 更新时间
|
||||
DeletedFlag int64 `db:"deleted_flag"` // 是否删除(0-否,1-是)
|
||||
YamlString string `db:"yaml_string"`
|
||||
Result string `db:"result"`
|
||||
Result string `db:"result"` // 运行结果
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
// Code generated by goctl. DO NOT EDIT.
|
||||
|
||||
package model
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
)
|
||||
|
||||
type (
|
||||
defaultTHashcatModel struct {
|
||||
conn sqlx.SqlConn
|
||||
table string
|
||||
}
|
||||
|
||||
THashcat struct {
|
||||
Id int64 `db:"id"` // id
|
||||
CrackTaskId int64 `db:"crack_task_id"` // 任务id
|
||||
CrackStatus string `db:"crack_status"` // 状态
|
||||
CrackStartTime string `db:"crack_start_time"` //开始时间
|
||||
CrackEstimatedTime string `db:"crack_estimated_time"` // 预计时间
|
||||
CrackProgress string `db:"crack_progress"` // 进度
|
||||
CrackResult string `db:"crack_result"` // 结果
|
||||
CreatedBy int64 `db:"created_by"` // 创建人
|
||||
CreatedTime sql.NullTime `db:"created_time"` // 创建时间
|
||||
UpdatedBy int64 `db:"updated_by"` // 更新人
|
||||
UpdatedTime sql.NullTime `db:"updated_time"` // 更新时间
|
||||
DeletedFlag int64 `db:"deleted_flag"` // 是否删除(0-否,1-是)
|
||||
}
|
||||
)
|
||||
|
||||
func newTHashcatModel(conn sqlx.SqlConn) *defaultCloudModel {
|
||||
return &defaultCloudModel{
|
||||
conn: conn,
|
||||
table: "`cloud`",
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue