mirror of
https://github.com/simon987/task_tracker.git
synced 2025-04-18 01:46:45 +00:00
Worker cache
This commit is contained in:
parent
f235bfb588
commit
49ccf60c2e
@ -49,7 +49,7 @@ func (api *WebAPI) setupMonitoring() {
|
||||
func New() *WebAPI {
|
||||
|
||||
api := new(WebAPI)
|
||||
api.Database = &storage.Database{}
|
||||
api.Database = storage.New()
|
||||
api.setupMonitoring()
|
||||
|
||||
api.router = &fasthttprouter.Router{}
|
||||
|
@ -2,7 +2,7 @@ server:
|
||||
address: "0.0.0.0:42901"
|
||||
|
||||
database:
|
||||
conn_str: "user=task_tracker dbname=task_tracker_test sslmode=disable"
|
||||
conn_str: "user=task_tracker dbname=task_tracker sslmode=disable"
|
||||
# log_levels: ["debug", "error", "trace", "info", "warn"]
|
||||
log_levels: ["error", "info", "warn"]
|
||||
|
||||
@ -23,4 +23,4 @@ session:
|
||||
|
||||
monitoring:
|
||||
snapshot_interval: "60s"
|
||||
history_length: "4h"
|
||||
history_length: "400h"
|
||||
|
@ -12,6 +12,16 @@ import (
|
||||
type Database struct {
|
||||
db *sql.DB
|
||||
saveTaskStmt *sql.Stmt
|
||||
|
||||
workerCache map[int64]*Worker
|
||||
}
|
||||
|
||||
func New() *Database {
|
||||
|
||||
d := Database{}
|
||||
d.workerCache = make(map[int64]*Worker)
|
||||
|
||||
return &d
|
||||
}
|
||||
|
||||
func (database *Database) Reset() {
|
||||
|
@ -42,6 +42,10 @@ func (database *Database) SaveWorker(worker *Worker) {
|
||||
|
||||
func (database *Database) GetWorker(id int64) *Worker {
|
||||
|
||||
if database.workerCache[id] != nil {
|
||||
return database.workerCache[id]
|
||||
}
|
||||
|
||||
db := database.getDB()
|
||||
|
||||
worker := &Worker{}
|
||||
@ -59,6 +63,8 @@ func (database *Database) GetWorker(id int64) *Worker {
|
||||
"worker": worker,
|
||||
}).Trace("Database.getWorker SELECT worker")
|
||||
|
||||
database.workerCache[id] = worker
|
||||
|
||||
return worker
|
||||
}
|
||||
|
||||
@ -101,6 +107,8 @@ func (database *Database) UpdateWorker(worker *Worker) bool {
|
||||
"worker": worker,
|
||||
}).Trace("Database.UpdateWorker UPDATE worker")
|
||||
|
||||
database.workerCache[worker.Id] = worker
|
||||
|
||||
return rowsAffected == 1
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,6 @@
|
||||
<mat-card-title *ngIf="project">{{"dashboard.title" | translate}} "{{project.name}}"</mat-card-title>
|
||||
<mat-card-content style="padding: 2em 0 1em">
|
||||
|
||||
|
||||
<p *ngIf="project">
|
||||
{{"project.git_repo" | translate}}:
|
||||
<a target="_blank" [href]="project['clone_url']"
|
||||
@ -19,7 +18,6 @@
|
||||
<p>{{"project.motd" | translate}}:</p>
|
||||
<pre *ngIf="project">{{project.motd}}</pre>
|
||||
|
||||
|
||||
<div style="display: flex; align-items: center; justify-content: center">
|
||||
<div id="timeline-wrapper">
|
||||
<canvas id="timeline"></canvas>
|
||||
|
Loading…
x
Reference in New Issue
Block a user