mirror of
https://github.com/ClusterCockpit/cc-backend
synced 2024-12-26 13:29:05 +01:00
37 lines
917 B
Go
37 lines
917 B
Go
|
// Copyright (C) NHR@FAU, University Erlangen-Nuremberg.
|
||
|
// All rights reserved.
|
||
|
// Use of this source code is governed by a MIT-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
package taskManager
|
||
|
|
||
|
import (
|
||
|
"time"
|
||
|
|
||
|
"github.com/ClusterCockpit/cc-backend/internal/auth"
|
||
|
"github.com/ClusterCockpit/cc-backend/pkg/log"
|
||
|
"github.com/go-co-op/gocron/v2"
|
||
|
)
|
||
|
|
||
|
func RegisterLdapSyncService(ds string) {
|
||
|
interval, err := parseDuration(ds)
|
||
|
if err != nil {
|
||
|
log.Warnf("Could not parse duration for sync interval: %v",
|
||
|
ds)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
auth := auth.GetAuthInstance()
|
||
|
|
||
|
log.Info("Register LDAP sync service")
|
||
|
s.NewJob(gocron.DurationJob(interval),
|
||
|
gocron.NewTask(
|
||
|
func() {
|
||
|
t := time.Now()
|
||
|
log.Printf("ldap sync started at %s", t.Format(time.RFC3339))
|
||
|
if err := auth.LdapAuth.Sync(); err != nil {
|
||
|
log.Errorf("ldap sync failed: %s", err.Error())
|
||
|
}
|
||
|
log.Print("ldap sync done")
|
||
|
}))
|
||
|
}
|