forked from JointCloud/pcm-hpc
106 lines
2.7 KiB
Go
106 lines
2.7 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/robfig/cron"
|
|
taskcron "gitlink.org.cn/JointCloud/pcm-hpc/cron"
|
|
"gitlink.org.cn/JointCloud/pcm-hpc/paratera"
|
|
"time"
|
|
)
|
|
|
|
func main() {
|
|
|
|
c := cron.New()
|
|
// pull task list from coordinator
|
|
c.AddFunc("*/5 * * * * ?", func() {
|
|
taskcron.PullTaskInfo()
|
|
})
|
|
// 启动定时任务
|
|
c.Start()
|
|
// 阻塞主线程,否则主线程退出后定时任务也会停止
|
|
select {}
|
|
|
|
//slurm test
|
|
/****
|
|
start := time.Now().UnixNano() / int64(time.Millisecond)
|
|
cli, _ := slurm.NewClient(slurm.ClientOptions{
|
|
RestUserName: "slurmrestd",
|
|
CmdUserName: "root",
|
|
Password: "",
|
|
Token: "",
|
|
URL: "",
|
|
AdaptMode: "rest",
|
|
ClientVersion: "v0.0.38",
|
|
})
|
|
jober, _ := cli.Job(slurm.JobOptions{})
|
|
|
|
jobProp := slurm.JobProperties{}
|
|
opt := slurm.JobOptions{
|
|
Script: "srun sleep 200",
|
|
Job: &jobProp,
|
|
Jobs: nil,
|
|
}
|
|
result := jober.SubmitJob(opt)
|
|
str := fmt.Sprintf("%v", result)
|
|
fmt.Println(str)
|
|
end := time.Now().UnixNano() / int64(time.Millisecond)
|
|
|
|
duration := end - start
|
|
fmt.Printf("方法调用时间为 %d 毫秒\n", duration)
|
|
****/
|
|
|
|
start := time.Now().UnixNano() / int64(time.Millisecond)
|
|
cli, _ := paratera.NewClient(paratera.ClientOptions{
|
|
Url: "https://cloud.paratera.com",
|
|
TokenType: "TOKEN",
|
|
ThirdParty: "NMPHONE",
|
|
Phone: "13278887558",
|
|
Password: "eb78bbb29cfb2b31a54751873c3dab5f",
|
|
})
|
|
|
|
job, _ := cli.Job(paratera.JobOptions{})
|
|
|
|
//sbs job submit
|
|
sbs := paratera.Sbs{
|
|
JobGroupName: "vasp",
|
|
JobName: "sbsjob",
|
|
SubmitProfile: paratera.SubmitProfile{
|
|
BootScript: "jobsubmit.sh",
|
|
WorkingDir: "prn:pcs:sftp:CSTC9:CSTC9:sc30314:file:/public4/home/sc56516/jobs/VNCView_20240203180350",
|
|
},
|
|
}
|
|
|
|
result := job.SubmitSbsJob(sbs)
|
|
|
|
//abs job submit
|
|
/*submitProfiles := make([]paratera.SubmitProfiles, 0)
|
|
addtionalParams := make([]paratera.AddtionalParams, 0)
|
|
addtionalParam := paratera.AddtionalParams{
|
|
Key: "input",
|
|
Value: "prn:pcs:sftp:CSTC9:CSTC9:pp214:file:/WORK/pp214/jobs/Flow_F0.sim",
|
|
}
|
|
addtionalParams = append(addtionalParams, addtionalParam)
|
|
submitProfile := paratera.SubmitProfiles{
|
|
Queue: "prn:pcs:hpc:CSTC9:CSTC9:pp214:queue:paratera",
|
|
SubmissionParameters: paratera.SubmissionParameters{
|
|
AddtionalParams: addtionalParams,
|
|
Cores: 24,
|
|
Nodes: 1,
|
|
},
|
|
}
|
|
submitProfiles = append(submitProfiles, submitProfile)
|
|
queueAbs := paratera.QueueAbs{
|
|
App: "starccm/12.02.010-R8",
|
|
JobName: "starccm",
|
|
SubmitProfiles: submitProfiles,
|
|
}
|
|
result := job.SubmitQueueAbsJob(queueAbs)*/
|
|
|
|
str := fmt.Sprintf("%v", result)
|
|
fmt.Println(str)
|
|
end := time.Now().UnixNano() / int64(time.Millisecond)
|
|
|
|
duration := end - start
|
|
fmt.Printf("方法调用时间为 %d 毫秒\n", duration)
|
|
}
|