Source Code

(define-map batch-jobs uint {creator: principal, status: (string-ascii 20), items: uint, processed: uint})
(define-data-var job-count uint u0)
(define-read-only (get-job (id uint)) (map-get? batch-jobs id))
(define-public (create-job (items uint))
  (let ((id (var-get job-count)))
    (map-set batch-jobs id {creator: tx-sender, status: "pending", items: items, processed: u0})
    (var-set job-count (+ id u1))
    (ok id)))
(define-public (process-item (job-id uint))
  (match (map-get? batch-jobs job-id)
    j (begin (map-set batch-jobs job-id (merge j {processed: (+ (get processed j) u1)})) (ok true))
    (err u404)))

Functions (3)

FunctionAccessArgs
get-jobread-onlyid: uint
create-jobpublicitems: uint
process-itempublicjob-id: uint