Skip to content
Snippets Groups Projects
Commit 5f365661 authored by Jonas Leder's avatar Jonas Leder
Browse files

run singlethreaded again

parent 854d4cc0
No related branches found
No related tags found
No related merge requests found
Pipeline #54587 passed
......@@ -20,45 +20,43 @@ func Run() {
continue
}
log.Log.Debug("Received new task: ", taskData)
go func() {
var task types.Task
err = json.Unmarshal([]byte(taskData), &task)
if err != nil {
log.Log.Error("Failed decoding task as JSON: ", err.Error())
return
}
var instance tables.Instance
err = database.Db.Where("name = ?", task.Instance).First(&instance).Error
if err != nil {
log.Log.Error("Failed retreiving instance from database, pushing task back to queue: ", err.Error())
queue.MainQueue.Enqueue(taskData, 60)
return
}
var task types.Task
err = json.Unmarshal([]byte(taskData), &task)
if err != nil {
log.Log.Error("Failed decoding task as JSON: ", err.Error())
return
}
var instance tables.Instance
err = database.Db.Where("name = ?", task.Instance).First(&instance).Error
if err != nil {
log.Log.Error("Failed retreiving instance from database, pushing task back to queue: ", err.Error())
queue.MainQueue.Enqueue(taskData, 60)
return
}
var jsonData map[string]interface{}
err = json.Unmarshal([]byte(task.Data), &jsonData)
if err != nil {
log.Log.Error("Failed decoding boiler JSON: ", err.Error())
queue.MainQueue.Enqueue(taskData, 60)
return
}
valuesToInsert := []tables.Value{}
for key, value := range jsonData {
valueType := database.GetOrCreateValueType(key)
dbValue := tables.Value{
Date: task.Date,
ValueType: valueType,
Value: helper.AnyToString(value),
Instance: instance,
}
valuesToInsert = append(valuesToInsert, dbValue)
}
database.Db.Create(&valuesToInsert)
err = queue.MainQueue.MarkDone(taskId)
if err != nil {
log.Log.Error("Failed marking element in queue as done: ", err.Error())
var jsonData map[string]interface{}
err = json.Unmarshal([]byte(task.Data), &jsonData)
if err != nil {
log.Log.Error("Failed decoding boiler JSON: ", err.Error())
queue.MainQueue.Enqueue(taskData, 60)
return
}
valuesToInsert := []tables.Value{}
for key, value := range jsonData {
valueType := database.GetOrCreateValueType(key)
dbValue := tables.Value{
Date: task.Date,
ValueType: valueType,
Value: helper.AnyToString(value),
Instance: instance,
}
log.Log.Info("Stored boiler data in database")
}()
valuesToInsert = append(valuesToInsert, dbValue)
}
database.Db.Create(&valuesToInsert)
err = queue.MainQueue.MarkDone(taskId)
if err != nil {
log.Log.Error("Failed marking element in queue as done: ", err.Error())
}
log.Log.Info("Stored boiler data in database")
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment