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.