aboutsummaryrefslogtreecommitdiff
path: root/src/com/github/ivarref/yoltq/error_poller.clj
diff options
context:
space:
mode:
authorIvar Refsdal <refsdal.ivar@gmail.com>2022-03-27 13:49:50 +0200
committerIvar Refsdal <refsdal.ivar@gmail.com>2022-03-27 13:49:50 +0200
commitb28837ea804fbc6abd14fae23a92933b9406d5e1 (patch)
tree98f3be6c5d0fc5b9a62b7c73bef7dfe18e01609e /src/com/github/ivarref/yoltq/error_poller.clj
parentRelease 0.2.39 (diff)
downloadfiinha-b28837ea804fbc6abd14fae23a92933b9406d5e1.tar.gz
fiinha-b28837ea804fbc6abd14fae23a92933b9406d5e1.tar.xz
Add healthy?, queue-stats functions and default functions for :on-system-error and :on-system-recovery
Diffstat (limited to 'src/com/github/ivarref/yoltq/error_poller.clj')
-rw-r--r--src/com/github/ivarref/yoltq/error_poller.clj19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/com/github/ivarref/yoltq/error_poller.clj b/src/com/github/ivarref/yoltq/error_poller.clj
index 77339f7..1268482 100644
--- a/src/com/github/ivarref/yoltq/error_poller.clj
+++ b/src/com/github/ivarref/yoltq/error_poller.clj
@@ -66,9 +66,13 @@
(defn do-poll-errors [{:keys [conn system-error
on-system-error
- on-system-recovery]
- :or {on-system-error (fn [] nil)
- on-system-recovery (fn [] nil)}
+ on-system-recovery
+ healthy?]
+ :or {on-system-error (fn []
+ (log/error "There are yoltq queues which have errors")
+ nil)
+ on-system-recovery (fn []
+ (log/info "Yoltq recovered"))}
:as config}]
(assert (some? conn) "expected :conn to be present")
(assert (some? system-error) "expected :system-error to be present")
@@ -79,8 +83,11 @@
(d/db conn)
u/status-error)
0)]
- (when (pos-int? error-count)
- (log/debug "poll-errors found" error-count "errors in system"))
+ (if (pos-int? error-count)
+ (do
+ (log/debug "poll-errors found" error-count "errors in system")
+ (reset! healthy? false))
+ (reset! healthy? true))
(let [{:keys [run-callback] :as new-state} (swap! system-error handle-error-count config (ext/now-ns) error-count)]
(when run-callback
(cond (= run-callback :error)
@@ -100,7 +107,7 @@
(when @running?
(do-poll-errors @config-atom))
(catch Throwable t
- (log/error t "unexpected error in poll-erros:" (ex-message t))
+ (log/error t "unexpected error in poll-errors:" (ex-message t))
nil)))