NAME

ObjStore::Job - Non-Preemptive Idle-Time Job Scheduler

SYNOPSIS

DESCRIPTION

The whole scheduling operation occurs within a single transaction. While this means that any job can kill the entire transaction, this seems a better choice than wrapping every job in its own mini-transaction. Since transactions are relatively expensive, it is assumed that most of the time all jobs will complete without error.

SCHEDULING PRIORITIES

  • HIGH PRIORITY <= 0

    Allowed to consume all available pizza slices.

  • TIME-SLICED 1-20

    Given pizza slices proportional to the priority until either all the pizza slices are consumed or all the jobs are asleep.

  • IDLE > 20

    Given all remaining pizza slices.

BUGS

Too bad you can't store CODEREFs in the database.

Time does not necessarily transmute into pizza.