General code changed and refactorment.

This commit is contained in:
Daan Selen
2025-05-28 16:57:47 +02:00
parent 7549437c99
commit d52a8fc541
5 changed files with 17 additions and 9 deletions

View File

@@ -15,6 +15,7 @@ func main() {
cfgPtr := flag.String("conf", "./conf/ghostserver.conf", "Specify a config file location yourself. Relative to the program.")
cfg := utilities.ReadConf(*cfgPtr)
log.Println(utilities.InfoTag, "Loading Secrets...")
hmacKey, err := utilities.LoadHMACKey(cfg.TokenKeyFile)
if err != nil {
log.Println(utilities.ErrTag, err)

View File

@@ -54,6 +54,7 @@ func RetrieveTokens() []string {
rows, err := db.Query(declStat.RetrieveTokens)
if err != nil {
log.Println(utilities.ErrTag, err)
return []string{}
}
defer rows.Close()
@@ -74,6 +75,7 @@ func RetrieveTokenNames() []string {
rows, err := db.Query(declStat.RetrieveTokenNames)
if err != nil {
log.Println(utilities.ErrTag, err)
return []string{}
}
defer rows.Close()
@@ -92,7 +94,7 @@ func RetrieveTokenNames() []string {
func InsertTask(name, command string, nodeids []string, date string) error {
for _, singleNodeid := range nodeids {
_, err := db.Exec(declStat.CreateTask, name, command, string(singleNodeid), date)
_, err := db.Exec(declStat.CreateTask, name, command, singleNodeid, date)
if err != nil {
return fmt.Errorf("failed to create task: %w", err)
}
@@ -125,7 +127,7 @@ func RetrieveTasks() []utilities.InternalQTaskData {
rows, err := db.Query(declStat.ListAllTasks)
if err != nil {
log.Println("Query error:", err)
return nil
return []utilities.InternalQTaskData{}
}
defer rows.Close()

View File

@@ -19,10 +19,15 @@ func routine(venvName string, pyListArgs []string) {
log.Printf("Processing Task %d", index)
if isNodeOnline(relevantNodeid, d.OnlineDevices) {
log.Printf("Node online: %s", relevantNodeid)
forgeAndExec(venvName, relevantNodeid, task.Command)
result := forgeAndExec(venvName, relevantNodeid, task.Command) // Forge the Python command and execute it with the Python libraries.
log.Println(result)
//generateResult()
log.Println("Removing Task from database...")
database.RemoveTask(task.Name, task.Nodeid)
} else {
log.Printf("Node offline %s", relevantNodeid)
log.Printf("Node offline %s", relevantNodeid) // Just a debug line to tell the user that the node is offline.
}
}
@@ -46,11 +51,11 @@ func isNodeOnline(nodeid string, onlineDevices []utilities.Device) bool {
return false
}
func forgeAndExec(venvName string, nodeid, command string) {
func forgeAndExec(venvName string, nodeid, command string) string {
log.Printf("Triggered %s, on %s", command, nodeid)
pyArgs := strings.Fields(fmt.Sprintf("--run --nodeid %s --command", nodeid))
pyArgs = append(pyArgs, command)
wrapper.ExecTask(venvName, pyArgs)
return wrapper.ExecTask(venvName, pyArgs)
}

View File

@@ -37,12 +37,12 @@ func PyListOnline(venvName string, pyArgs []string) (utilities.PyOnlineDevices,
return data, nil
}
func ExecTask(venvName string, pyArgs []string) {
func ExecTask(venvName string, pyArgs []string) string {
rawData, err := pyExec(venvName, pyArgs)
if err != nil {
cwd, _ := os.Getwd()
log.Println("FAILED,", err, "CWD:", cwd)
}
log.Println(string(rawData))
return string(rawData)
}