LongRunningTask
- class lib.gui.utils.misc.LongRunningTask(target: Callable | None = None, name: str | None = None, args: tuple = (), kwargs: dict[str, T.Any] | None = None, *, daemon: bool = True, widget=None)
Bases:
ThreadRuns long running tasks in a background thread to prevent the GUI from becoming unresponsive.
This is sub-classed from
Threading.Threadso check documentation there for base parameters. Additional parameters listed below.- Parameters:
widget (tkinter object, optional) – The widget that this
LongRunningTaskis associated with. Used for setting the busy cursor in the correct location. Default:None.target (Callable | None)
name (str | None)
args (tuple)
kwargs (dict[str, T.Any] | None)
daemon (bool)
Attributes Summary
Event is set if the thread has completed its task, otherwise it is unset.
A boolean value indicating whether this thread is a daemon thread.
Thread identifier of this thread or None if it has not been started.
A string used for identification purposes only.
Native integral thread ID of this thread, or None if it has not been started.
Methods Summary
getName()Return a string used for identification purposes only.
Return the result from the given task.
isDaemon()Return whether this thread is a daemon.
is_alive()Return whether the thread is alive.
join([timeout])Wait until the thread terminates.
run()Commence the given task in a background thread.
setDaemon(daemonic)Set whether this thread is a daemon.
setName(name)Set the name string for this thread.
start()Start the thread's activity.
Attributes Documentation
- complete
Event is set if the thread has completed its task, otherwise it is unset.
- Type:
threading.Event
- daemon
A boolean value indicating whether this thread is a daemon thread.
This must be set before start() is called, otherwise RuntimeError is raised. Its initial value is inherited from the creating thread; the main thread is not a daemon thread and therefore all threads created in the main thread default to daemon = False.
The entire Python program exits when only daemon threads are left.
- ident
Thread identifier of this thread or None if it has not been started.
This is a nonzero integer. See the get_ident() function. Thread identifiers may be recycled when a thread exits and another thread is created. The identifier is available even after the thread has exited.
- name
A string used for identification purposes only.
It has no semantics. Multiple threads may be given the same name. The initial name is set by the constructor.
- native_id
Native integral thread ID of this thread, or None if it has not been started.
This is a non-negative integer. See the get_native_id() function. This represents the Thread ID as reported by the kernel.
Methods Documentation
- getName()
Return a string used for identification purposes only.
This method is deprecated, use the name attribute instead.
- get_result() Any
Return the result from the given task.
- Returns:
The result of the thread will depend on the given task. If a call is made to
get_result()prior to the thread completing its task thenNonewill be returned- Return type:
varies
- isDaemon()
Return whether this thread is a daemon.
This method is deprecated, use the daemon attribute instead.
- is_alive()
Return whether the thread is alive.
This method returns True just before the run() method starts until just after the run() method terminates. See also the module function enumerate().
- join(timeout=None)
Wait until the thread terminates.
This blocks the calling thread until the thread whose join() method is called terminates – either normally or through an unhandled exception or until the optional timeout occurs.
When the timeout argument is present and not None, it should be a floating-point number specifying a timeout for the operation in seconds (or fractions thereof). As join() always returns None, you must call is_alive() after join() to decide whether a timeout happened – if the thread is still alive, the join() call timed out.
When the timeout argument is not present or None, the operation will block until the thread terminates.
A thread can be join()ed many times.
join() raises a RuntimeError if an attempt is made to join the current thread as that would cause a deadlock. It is also an error to join() a thread before it has been started and attempts to do so raises the same exception.
- run() None
Commence the given task in a background thread.
- Return type:
None
- setDaemon(daemonic)
Set whether this thread is a daemon.
This method is deprecated, use the .daemon property instead.
- setName(name)
Set the name string for this thread.
This method is deprecated, use the name attribute instead.
- start()
Start the thread’s activity.
It must be called at most once per thread object. It arranges for the object’s run() method to be invoked in a separate thread of control.
This method will raise a RuntimeError if called more than once on the same thread object.
- property complete: Event
Event is set if the thread has completed its task, otherwise it is unset.
- Type:
threading.Event
- get_result() Any
Return the result from the given task.
- Returns:
The result of the thread will depend on the given task. If a call is made to
get_result()prior to the thread completing its task thenNonewill be returned- Return type:
varies
- run() None
Commence the given task in a background thread.
- Return type:
None