aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvar Refsdal <ivar.refsdal@nsd.no>2021-09-27 14:36:24 +0200
committerIvar Refsdal <ivar.refsdal@nsd.no>2021-09-27 14:36:24 +0200
commit79acba1b716685bb601e05a2e9824eefd19d1f5d (patch)
treed014d59f94251e52689a03e4ab399aa1ea0dc374 /src
parentRelease 0.2.37 (diff)
downloadfiinha-79acba1b716685bb601e05a2e9824eefd19d1f5d.tar.gz
fiinha-79acba1b716685bb601e05a2e9824eefd19d1f5d.tar.xz
Add :valid-payload? function
Diffstat (limited to 'src')
-rw-r--r--src/com/github/ivarref/yoltq/impl.clj4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/com/github/ivarref/yoltq/impl.clj b/src/com/github/ivarref/yoltq/impl.clj
index 02cc102..8b75fc3 100644
--- a/src/com/github/ivarref/yoltq/impl.clj
+++ b/src/com/github/ivarref/yoltq/impl.clj
@@ -40,6 +40,7 @@
(if-let [q-config (get-in config [:handlers queue-name])]
(let [id (u/squuid)
depends-on (get q-config :depends-on (fn [_] nil))
+ valid-payload? (get q-config :valid-payload? (fn [_] true))
opts (merge
(when-let [deps (depends-on payload)]
{:depends-on deps})
@@ -49,6 +50,9 @@
{}
(or capture-bindings []))
(pr-str-safe :capture-bindings))]
+ (when-not (valid-payload? payload)
+ (log/error "Payload was not valid. Payload was:" payload)
+ (throw (ex-info (str "Payload was not valid: " payload) {:payload payload})))
(log/debug "queue item" (str id) "for queue" queue-name "is pending status" u/status-init)
(merge
{:com.github.ivarref.yoltq/id id