From defdcf42643fe4fd960853daa21c8dec2e455d33 Mon Sep 17 00:00:00 2001 From: pb Date: Tue, 20 May 2025 20:06:48 +0200 Subject: [PATCH] changed how we store upcoming executions from slice to map --- daemons/execution_manager.go | 10 +++++----- daemons/schedule_manager.go | 21 +++++++-------------- env.env | 4 ---- 3 files changed, 12 insertions(+), 23 deletions(-) delete mode 100644 env.env diff --git a/daemons/execution_manager.go b/daemons/execution_manager.go index 8119bb8..72fcf12 100644 --- a/daemons/execution_manager.go +++ b/daemons/execution_manager.go @@ -22,11 +22,11 @@ func (em *ExecutionManager) RetrieveNextExecutions() { Executions.Mu.Lock() if len(Executions.Execs) > 0 { executions := Executions.Execs - for i := len(executions) - 1; i >= 0; i-- { - if executions[i].ExecDate.Before(time.Now().UTC()) { - logger.Info().Msg("Will execute " + executions[i].UUID + " soon") - go em.executeExecution(executions[i]) - Executions.Execs = append(executions[:i], executions[i+1:]...) + for execId, exec := range executions { + if exec.ExecDate.Before(time.Now().UTC()) { + logger.Info().Msg("Will execute " + execId + " soon") + go em.executeExecution(&exec) + delete(executions,execId) } } } diff --git a/daemons/schedule_manager.go b/daemons/schedule_manager.go index a300f50..329bcc9 100644 --- a/daemons/schedule_manager.go +++ b/daemons/schedule_manager.go @@ -17,20 +17,14 @@ import ( ) type ScheduledExecution struct { - Execs []*workflow_execution.WorkflowExecution + Execs map[string]workflow_execution.WorkflowExecution Mu sync.Mutex } -func (sb *ScheduledExecution) DeleteSchedules(workflow_id string) { - toNotDelete := []*workflow_execution.WorkflowExecution{} - for _, b := range sb.Execs { - if b.WorkflowID != workflow_id { - toNotDelete = append(toNotDelete, b) - } - } +func (sb *ScheduledExecution) DeleteSchedules(uuid string) { Executions.Mu.Lock() defer Executions.Mu.Unlock() - sb.Execs = toNotDelete + delete(sb.Execs,uuid) } func (sb *ScheduledExecution) AddSchedules(new_executions []*workflow_execution.WorkflowExecution, logger zerolog.Logger) { @@ -39,17 +33,16 @@ func (sb *ScheduledExecution) AddSchedules(new_executions []*workflow_execution. for _, exec := range new_executions { fmt.Println("Adding "+exec.UUID, !sb.execIsSet(exec)) if !sb.execIsSet(exec) { - sb.Execs = append(sb.Execs, exec) + sb.Execs[exec.UUID] = *exec } } } func (sb *ScheduledExecution) execIsSet(exec *workflow_execution.WorkflowExecution) bool { - for _, b := range sb.Execs { - if b.Equals(exec) { - return true - } + if _, ok := sb.Execs[exec.UUID]; ok{ + return true } + return false } diff --git a/env.env b/env.env deleted file mode 100644 index 4a00a82..0000000 --- a/env.env +++ /dev/null @@ -1,4 +0,0 @@ -KUBERNETES_SERVICE_HOST=192.168.1.169 -KUBE_CA="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkekNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUzTWpNeE1USXdNell3SGhjTk1qUXdPREE0TVRBeE16VTJXaGNOTXpRd09EQTJNVEF4TXpVMgpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUzTWpNeE1USXdNell3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFTVlk3ZHZhNEdYTVdkMy9jMlhLN3JLYjlnWXgyNSthaEE0NmkyNVBkSFAKRktQL2UxSVMyWVF0dzNYZW1TTUQxaStZdzJSaVppNUQrSVZUamNtNHdhcnFvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWtlUVJpNFJiODduME5yRnZaWjZHClc2SU55NnN3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnRXA5ck04WmdNclRZSHYxZjNzOW5DZXZZeWVVa3lZUk4KWjUzazdoaytJS1FDSVFDbk05TnVGKzlTakIzNDFacGZ5ays2NEpWdkpSM3BhcmVaejdMd2lhNm9kdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" -KUBE_CERT="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrVENDQVRlZ0F3SUJBZ0lJWUxWNkFPQkdrU1F3Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOekl6TVRFeU1ETTJNQjRYRFRJME1EZ3dPREV3TVRNMU5sb1hEVEkxTURndwpPREV3TVRNMU5sb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJGQ2Q1MFdPeWdlQ2syQzcKV2FrOWY4MVAvSkJieVRIajRWOXBsTEo0ck5HeHFtSjJOb2xROFYxdUx5RjBtOTQ2Nkc0RmRDQ2dqaXFVSk92Swp3NVRPNnd5alNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCVFJkOFI5cXVWK2pjeUVmL0ovT1hQSzMyS09XekFLQmdncWhrak9QUVFEQWdOSUFEQkYKQWlFQTArbThqTDBJVldvUTZ0dnB4cFo4NVlMalF1SmpwdXM0aDdnSXRxS3NmUVVDSUI2M2ZNdzFBMm5OVWU1TgpIUGZOcEQwSEtwcVN0Wnk4djIyVzliYlJUNklZCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJlRENDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdFkyeHAKWlc1MExXTmhRREUzTWpNeE1USXdNell3SGhjTk1qUXdPREE0TVRBeE16VTJXaGNOTXpRd09EQTJNVEF4TXpVMgpXakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwWlc1MExXTmhRREUzTWpNeE1USXdNell3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFRc3hXWk9pbnIrcVp4TmFEQjVGMGsvTDF5cE01VHAxOFRaeU92ektJazQKRTFsZWVqUm9STW0zNmhPeVljbnN3d3JoNnhSUnBpMW5RdGhyMzg0S0Z6MlBvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTBYZkVmYXJsZm8zTWhIL3lmemx6Cnl0OWlqbHN3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUxJL2dNYnNMT3MvUUpJa3U2WHVpRVMwTEE2cEJHMXgKcnBlTnpGdlZOekZsQWlFQW1wdjBubjZqN3M0MVI0QzFNMEpSL0djNE53MHdldlFmZWdEVGF1R2p3cFk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" -KUBE_DATA="LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSU5ZS1BFb1dhd1NKUzJlRW5oWmlYMk5VZlY1ZlhKV2krSVNnV09TNFE5VTlvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFVUozblJZN0tCNEtUWUx0WnFUMS96VS84a0Z2Sk1lUGhYMm1Vc25pczBiR3FZblkyaVZEeApYVzR2SVhTYjNqcm9iZ1YwSUtDT0twUWs2OHJEbE03ckRBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=" \ No newline at end of file