|
Uranium
Application Framework
|
Public Member Functions | |
| None | __init__ (self, Union[str, int] thread_count="auto") |
| None | add (self, "Job" job) |
| None | remove (self, "Job" job) |
| "JobQueue" | getInstance (cls, *args, **kwargs) |
Static Public Attributes | |
| jobStarted = Signal() | |
| jobFinished = Signal() | |
Protected Member Functions | |
| Optional["Job"] | _nextJob (self) |
Protected Attributes | |
| _threads | |
| _semaphore | |
| _jobs | |
| _jobs_lock | |
A thread pool and queue manager for Jobs. The JobQueue class manages a queue of Job objects and a set of threads that can take things from this queue to process them. :sa Job
| None UM.JobQueue.JobQueue.__init__ | ( | self, | |
| Union[str, int] | thread_count = "auto" |
||
| ) |
Initialize. :param thread_count: The amount of threads to use. Can be a positive integer or `auto`. When `auto`, the number of threads is based on the number of processors and cores on the machine.
|
protected |
protected: Get the next job off the queue. Note that this will block until a job is available.
| None UM.JobQueue.JobQueue.add | ( | self, | |
| "Job" | job | ||
| ) |
Add a Job to the queue. :param job: The Job to add.
| None UM.JobQueue.JobQueue.remove | ( | self, | |
| "Job" | job | ||
| ) |
Remove a waiting Job from the queue. :param job: The Job to remove. :note If a job has already begun processing it is already removed from the queue and thus can no longer be cancelled.