class_docstr: Initializes structures necessary for a worker process to receive,
  compute and send back tasks.
class_docstr_tok: ["Initializes","structures","necessary","for","a","worker","process","to","receive",",","compute","and","send","back","tasks","."]
code: def _init_task_receiver(self):
      assert (
          self.general_task_queue is not None
          or self.dedicated_task_queue is not None
      )
      if (
          self.dedicated_task_queue is None
          or self.general_task_queue is None
      ):
          return SimpleQueueTaskReceiver(
              self.general_task_queue or self.dedicated_task_queue
          )
      return MixedTaskReceiver(
          self.dedicated_task_queue, self.general_task_queue
      )
  
imports: from typing import List, Optional, Tuple
  import threading
  import traceback
  import socket
  from collections import deque
  from multiprocessing import reduction
  from nvidia.dali._utils.external_source_impl import SourceKind, _is_generator_function
  from nvidia.dali._multiproc.shared_batch import SharedBatchWriter, SharedBatchMeta, BufShmChunk, assert_valid_data_type, read_shm_message, write_shm_message
  from nvidia.dali._multiproc.messages import CompletedTask, WorkerArgs, ShmMessageDesc, ScheduledTask
  from nvidia.dali._multiproc.shared_queue import Dispatcher
label_desc: Use image node_id 4 for calling the WorkerContext obj's underlying member method code with example usage: obj._init_task_receiver() and returns: MixedTaskReceiver, SimpleQueueTaskReceiver