Version: 4.2.3.4
Job Queue
A multi-threaded job queue.
(require (planet jaymccarthy/job-queue)) |
current-worker : (parameter/c (or/c false/c exact-nonnegative-integer?)) |
An identifier for the current worker, or #f outside a manager.
(job-queue? v) → boolean? |
v : any/c |
Returns true if v is a job queue.
(make-job-queue how-many-workers) → job-queue? |
how-many-workers : exact-nonnegative-integer? |
Starts a queue with how-many-workers threads servicing jobs.
(submit-job! jq job) → void |
jq : job-queue? |
job : (-> any) |
Runs job by one of jq’s workers. job is run in the same parameterization as the call to submit-job!. This call will never block.
(stop-job-queue! jq) → void |
jq : job-queue? |
Blocks until all of jq’s current jobs are finished and its workers are dead. Once stop-job-queue! has been called, jq will reject subsequent requests and submit-job! will block indefinitely.