aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvar Refsdal <ivar.refsdal@nsd.no>2021-09-17 14:09:10 +0200
committerIvar Refsdal <ivar.refsdal@nsd.no>2021-09-17 14:09:10 +0200
commit538f0111dfb02da0f875b5777c97684d451be73a (patch)
tree926cbdb607e5678a21560640f6ef51d4b8d1e9df
parentAdd consume-expect! (diff)
downloadfiinha-538f0111dfb02da0f875b5777c97684d451be73a.tar.gz
fiinha-538f0111dfb02da0f875b5777c97684d451be73a.tar.xz
Save bindings on put
-rw-r--r--src/com/github/ivarref/yoltq/impl.clj12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/com/github/ivarref/yoltq/impl.clj b/src/com/github/ivarref/yoltq/impl.clj
index 6a4f105..cb99b08 100644
--- a/src/com/github/ivarref/yoltq/impl.clj
+++ b/src/com/github/ivarref/yoltq/impl.clj
@@ -20,15 +20,21 @@
#:db{:ident :com.github.ivarref.yoltq/error-time, :cardinality :db.cardinality/one, :valueType :db.type/long}])
-(defn put [config queue-name payload]
+(defn put [{:keys [capture-bindings] :as config}
+ queue-name payload]
(if-let [_ (get-in config [:handlers queue-name])]
- (let [id (u/squuid)]
+ (let [id (u/squuid)
+ str-bindings (->> (reduce (fn [o k]
+ (assoc o (symbol k) (deref k)))
+ {}
+ (or capture-bindings []))
+ (pr-str))]
(log/debug "queue item" (str id) "for queue" queue-name "is pending status" u/status-init)
{:com.github.ivarref.yoltq/id id
:com.github.ivarref.yoltq/queue-name queue-name
:com.github.ivarref.yoltq/status u/status-init
:com.github.ivarref.yoltq/payload (pr-str payload)
- :com.github.ivarref.yoltq/bindings (pr-str {})
+ :com.github.ivarref.yoltq/bindings str-bindings
:com.github.ivarref.yoltq/lock (u/random-uuid)
:com.github.ivarref.yoltq/tries 0
:com.github.ivarref.yoltq/init-time (u/now-ns)})