[Racket] Ferti hydroponic nutrient solver, redux.
Reduce SQL requests for main Ferti page.
Changed files
handlers.rkt
@@ -31,10 +31,13 @@
31
31
(define ferti-recipe (find-ferti-recipe))
32
32
(define latest-measurement-hash (get-latest-nutrient-measurement-hash))
33
33
(define latest-target-hash (get-latest-nutrient-target-hash))
34
Removed:
(define latest-measurements (take* (get-nutrient-measurements) 10))
34
Added:
(define latest-measurements (take (get-nutrient-measurements) 10))
35
35
(response/xexpr
36
36
#:preamble #"<!DOCTYPE html>"
37
Removed:
(ferti-page ferti-recipe latest-measurement-hash latest-target-hash latest-measurements)))
37
Added:
(ferti-page ferti-recipe
38
Added:
latest-measurement-hash
39
Added:
latest-target-hash
40
Added:
latest-measurements)))
38
41
39
42
(define (index _)
40
43
(define user (get-current-user))
views.rkt
@@ -84,7 +84,7 @@
84
84
85
85
;; Pages
86
86
87
Removed:
(define (ferti-page measurements ferti-recipe)
87
Added:
(define (ferti-page ferti-recipe latest-measurement-hash latest-target-hash measurements)
88
88
(page-template
89
89
"Ferti"
90
90
`((h1 ((class "display-1 mb-3")) "Ferti")
@@ -112,8 +112,8 @@
112
112
(th ((class "text-end")) "Dernière Cible")
113
113
(th ((class "text-end")) "Delta (%)"))
114
114
,@(for/list ([n (get-nutrients)])
115
Removed:
(define latest-target (get-latest-nutrient-target-value n))
116
Removed:
(define latest-measurement (get-latest-nutrient-measurement-value n))
115
Added:
(define latest-measurement (hash-ref latest-measurement-hash n #f))
116
Added:
(define latest-target (hash-ref latest-target-hash n #f))
117
117
(define delta-percentage
118
118
(cond
119
119
[(false? latest-target) #f]