Mercurial > gemma
changeset 5562:5152b4db40cc
Simplified code of log export a bit.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sat, 12 Feb 2022 09:54:33 +0100 |
parents | b91716d2acc6 |
children | 3be1d79ad3a3 |
files | pkg/controllers/importqueue.go pkg/imports/sr.go |
diffstat | 2 files changed, 29 insertions(+), 35 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/controllers/importqueue.go Fri Feb 11 18:57:11 2022 +0100 +++ b/pkg/controllers/importqueue.go Sat Feb 12 09:54:33 2022 +0100 @@ -289,6 +289,8 @@ return } + start := time.Now() + conn := mw.GetDBConn(req) ctx := req.Context() var rows *sql.Rows @@ -298,13 +300,6 @@ } defer rows.Close() - stringString := func(s sql.NullString) string { - if s.Valid { - return s.String - } - return "" - } - // Extract some meta infos from the import. type Description interface { Description([]string) (string, error) @@ -321,16 +316,13 @@ signer sql.NullString warnings bool data string - msgs []string + msgs pgtype.TextArray } // Log unsupported description interfaces per kind only once. unsupported := make(map[string]bool) store := func(ds *dataset) error { - if ds == nil { - return nil - } var description string @@ -340,9 +332,14 @@ if err := common.FromJSONString(ds.data, job); err != nil { log.Errorf("%v\n", err) } else if desc, ok := job.(Description); ok { - description, err = desc.Description(ds.msgs) - if err != nil { - log.Errorf("%v\n", err) + var ms []string + if ds.msgs.Status == pgtype.Present { + if err := ds.msgs.AssignTo(&ms); err != nil { + return err + } + } + if description, err = desc.Description(ms); err != nil { + return err } description = strings.Replace(description, ",", "|", -1) } else { @@ -353,13 +350,18 @@ } } + var signer string + if ds.signer.Valid { + signer = ds.signer.String + } + record[0] = strconv.FormatInt(ds.id, 10) record[1] = ds.kind record[2] = ds.enqueued.UTC().Format(common.TimeFormat) record[3] = ds.changed.UTC().Format(common.TimeFormat) record[4] = ds.user record[5] = ds.country - record[6] = stringString(ds.signer) + record[6] = signer record[7] = ds.state record[8] = strconv.FormatBool(ds.warnings) record[9] = description @@ -368,10 +370,8 @@ } for rows.Next() { - var ( - curr dataset - msgs pgtype.TextArray - ) + var curr dataset + if err := rows.Scan( &curr.id, &curr.state, @@ -383,34 +383,29 @@ &curr.signer, &curr.warnings, &curr.data, - &msgs, + &curr.msgs, ); err != nil { log.Errorf("%v\n", err) return } - if msgs.Status == pgtype.Present { - if err := msgs.AssignTo(&curr.msgs); err != nil { - log.Errorf("%v\n", err) - return - } - } - if err := store(&curr); err != nil { log.Errorf("%v\n", err) return } } + if err := rows.Err(); err != nil { + log.Errorf("%v\n", err) + return + } + out.Flush() if err := out.Error(); err != nil { log.Errorf("%v\n", err) } - if err = rows.Err(); err != nil { - log.Errorf("%v\n", err) - return - } + log.Debugf("Export took: %v\n", time.Since(start)) } func listImports(req *http.Request) (jr mw.JSONResult, err error) {
--- a/pkg/imports/sr.go Fri Feb 11 18:57:11 2022 +0100 +++ b/pkg/imports/sr.go Sat Feb 12 09:54:33 2022 +0100 @@ -266,7 +266,7 @@ var ( bottleneck, st, date string - negZ *bool + negZ bool ) for _, msg := range msgs { @@ -283,8 +283,7 @@ continue } if negateZRe.MatchString(msg) { - t := true - negZ = &t + negZ = true } } @@ -306,7 +305,7 @@ if sr.NegateZ != nil && *sr.NegateZ { descs = append(descs, "negateZ") - } else if negZ != nil && *negZ { + } else if negZ { log.Debugln("negateZ recovered") descs = append(descs, "negateZ") }