def enqueue

bend-kit-runner@0.13.0.1 · runner.bend:1117

import bend-kit-runner@0.13.0.1/runner.bend as Runner
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes
import bend-kit-scheduler@0.4.1.0/queue.bend as Q

1117# Adds a job that is due at deadline (wall-clock ms) and answers its ticket id once the record is durable.
1118def enqueue(~A: Data, ~penc: A -> Bytes.Bytes, r: Runner<A>, +deadline: Nat, x: A) -> IO(Runner<A> & Out(Nat)):
1119  Runner{j, +s, p, c, ib, fs} = r
1120  do IO<Runner<A> & Out(Nat)>:
1121    y : Ran(A) <- commit(~A, ~penc, Runner{j, s, p, c, ib, fs}, Enqueue{deadline, x})
1122    return enqueue.done(A, Q.next_id(A, queue(A, s)), y)

Uses (14)

Used by (1)