dirt_job 
Work SSdirt does a piece at a time (next_piece()), each piece in its own try/catch (make_piece()), so a piece that runtimes drops its job, cached as failed, and can't hold up the jobs after it.
Vars | |
| failed | Whether it can't make what it's for: a piece runtimed, or what it reads is missing. |
|---|---|
| pieces_made | How many pieces it has made, across every fire: past most_pieces() it's dropped. |
Procs | |
| finished | Caches what it made, or that it failed, once it's out of the queue. |
| most_pieces | Returns the most pieces it can take, across every fire. One that takes more is dropped as failed. |
| next_piece | Makes the next piece. |
Var Details
failed 
Whether it can't make what it's for: a piece runtimed, or what it reads is missing.
pieces_made 
How many pieces it has made, across every fire: past most_pieces() it's dropped.
Proc Details
finished
Caches what it made, or that it failed, once it's out of the queue.
most_pieces
Returns the most pieces it can take, across every fire. One that takes more is dropped as failed.
next_piece
Makes the next piece.
Returns:
- TRUE: It's done, or failed.
- FALSE: Pieces are left.