diff options
| author | ire <refsdal.ivar@gmail.com> | 2025-09-22 11:20:50 +0200 |
|---|---|---|
| committer | ire <refsdal.ivar@gmail.com> | 2025-09-22 11:20:50 +0200 |
| commit | bfd0d662f1ef212ab194ce3f78b04dc527f42d95 (patch) | |
| tree | c2f19875e64c3363d29c57b060ba61dd2ef53e20 /src/com/github/ivarref/yoltq.clj | |
| parent | Update for release (diff) | |
| parent | Added documentation for job-group feature (diff) | |
| download | fiinha-bfd0d662f1ef212ab194ce3f78b04dc527f42d95.tar.gz fiinha-bfd0d662f1ef212ab194ce3f78b04dc527f42d95.tar.xz | |
Merge branch 'batches-of-jobs'
Diffstat (limited to 'src/com/github/ivarref/yoltq.clj')
| -rw-r--r-- | src/com/github/ivarref/yoltq.clj | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/github/ivarref/yoltq.clj b/src/com/github/ivarref/yoltq.clj index 0f63e25..8c8ca7a 100644 --- a/src/com/github/ivarref/yoltq.clj +++ b/src/com/github/ivarref/yoltq.clj @@ -257,6 +257,29 @@ (sort-by (juxt :qname :status)) (vec)))) +(defn job-group-progress [queue-name job-group] + (let [{:keys [conn]} @*config* + db (d/db conn)] + (->> (d/q '[:find ?e ?qname ?job-group ?status + :keys :e :qname :job-group :status + :in $ ?qname ?job-group + :where + [?e :com.github.ivarref.yoltq/queue-name ?qname] + [?e :com.github.ivarref.yoltq/job-group ?job-group] + [?e :com.github.ivarref.yoltq/status ?status]] + db queue-name job-group) + (mapv #(select-keys % [:qname :job-group :status])) + (mapv (fn [qitem] {qitem 1})) + (reduce (partial merge-with +) {}) + (mapv (fn [[{:keys [qname job-group status]} v]] + (array-map + :qname qname + :job-group job-group + :status status + :count v))) + (sort-by (juxt :qname :job-group :status)) + (vec)))) + (defn get-errors [qname] (let [{:keys [conn]} @*config* db (d/db conn)] |
