Add documentation

This commit is contained in:
Thorsten Sommer 2015-06-18 17:44:22 +02:00
parent 81c4d15d9f
commit 9be6bfc5fa

View File

@ -10,18 +10,26 @@ import (
"time"
)
// Internal function for the timer logic thread.
func cacheTimerLogic(waiting bool) {
// Case: This server goes down now.
if Shutdown.IsDown() {
return
}
// Define the query and get the iterator:
lastCount := cacheListenerDatabase.Len()
selection := bson.D{{`IsActive`, true}}
entriesIterator := collectionListener.Find(selection).Iter()
entry := Scheme.Listener{}
entry := Scheme.Listener{}
cacheListenerDatabaseLock.Lock()
// Re-init the cache:
cacheListenerDatabase.Init()
// Loop over all entries
for entriesIterator.Next(&entry) {
cacheListenerDatabase.PushBack(entry)
}
@ -29,6 +37,7 @@ func cacheTimerLogic(waiting bool) {
cacheListenerDatabaseLock.Unlock()
Log.LogShort(senderName, LM.CategorySYSTEM, LM.LevelINFO, LM.MessageNameEXECUTE, `The listener cache was refreshed with the values from the database.`, fmt.Sprintf(`last count=%d`, lastCount), fmt.Sprintf(`new count=%d`, cacheListenerDatabase.Len()))
// In case, that this function runs at a thread, we want to wait:
if waiting {
nextDuration := time.Duration(5) * time.Minute
if cacheListenerDatabase.Len() == 0 {