diff options
| author | Ivar Refsdal <ivar.refsdal@nsd.no> | 2021-09-17 14:09:10 +0200 |
|---|---|---|
| committer | Ivar Refsdal <ivar.refsdal@nsd.no> | 2021-09-17 14:09:10 +0200 |
| commit | 538f0111dfb02da0f875b5777c97684d451be73a (patch) | |
| tree | 926cbdb607e5678a21560640f6ef51d4b8d1e9df /src | |
| parent | Add consume-expect! (diff) | |
| download | fiinha-538f0111dfb02da0f875b5777c97684d451be73a.tar.gz fiinha-538f0111dfb02da0f875b5777c97684d451be73a.tar.xz | |
Save bindings on put
Diffstat (limited to 'src')
| -rw-r--r-- | src/com/github/ivarref/yoltq/impl.clj | 12 |
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)}) |
