dcnum.logic.universal_worker ============================ .. py:module:: dcnum.logic.universal_worker Attributes ---------- .. autoapisummary:: dcnum.logic.universal_worker.mp_spawn Classes ------- .. autoapisummary:: dcnum.logic.universal_worker.UniversalWorker dcnum.logic.universal_worker.UniversalWorkerThread dcnum.logic.universal_worker.UniversalWorkerProcess Module Contents --------------- .. py:data:: mp_spawn :value: None .. py:class:: UniversalWorker(slot_register: dcnum.logic.slot_register.SlotRegister, log_queue: multiprocessing.Queue, log_level: int = logging.INFO, *args, **kwargs) .. py:attribute:: slot_register Chunk slot register .. py:attribute:: log_queue queue for logging .. py:attribute:: log_level .. py:method:: run() .. py:class:: UniversalWorkerThread(*args, **kwargs) Bases: :py:obj:`UniversalWorker`, :py:obj:`threading.Thread` This constructor should always be called with keyword arguments. Arguments are: *group* should be None; reserved for future extension when a ThreadGroup class is implemented. *target* is the callable object to be invoked by the run() method. Defaults to None, meaning nothing is called. *name* is the thread name. By default, a unique name is constructed of the form "Thread-N" where N is a small decimal number. *args* is a list or tuple of arguments for the target invocation. Defaults to (). *kwargs* is a dictionary of keyword arguments for the target invocation. Defaults to {}. If a subclass overrides the constructor, it must make sure to invoke the base class constructor (Thread.__init__()) before doing anything else to the thread. .. py:class:: UniversalWorkerProcess(*args, **kwargs) Bases: :py:obj:`UniversalWorker`, :py:obj:`mp_spawn` Process objects represent activity that is run in a separate process The class is analogous to `threading.Thread` .. py:method:: start() Start child process