queue#
- exception Empty#
Bases:
Exception
- exception Busy#
Bases:
Exception
- class HeapSlot(job: _canary.job.BaseJob)#
Bases:
object- cost: float#
- resources: list[dict[str, Any]]#
- class ResourceQueue(lock: allocate_lock, resource_pool: ResourcePool, jobs: list[BaseJob] | None = None)#
Bases:
objectHeap-based resource queue for jobs.
Jobs with largest cost are scheduled first. Respects dependencies and exclusive job semantics. Raises Busy if no job can be run with available resources.
- exclusive_job_id: str | None#
- prepare() None#
Empty method that a subclass can implement
- clear(status: str = 'CANCELLED') None#
- status(start: float | None = None) str#
- truncate(items: Iterable[str]) str#