class_docstr: Message sent from the pool to a worker to schedule tasks for the worker
  
  Parameters
  ----------
  `context_i` : int
      Index identifying the callback in the order of parallel callbacks passed to pool.
  `scheduled_i` : int
      Ordinal of the batch that tasks list corresponds to.
  `epoch_start` : int
      The value is increased every time the corresponding context is reset,
      this way worker can know if the new epoch started, and if it can restart
      iterator that raised StopIteration but is set to cycle=raise.
  `task` : TaskArgs
      Describes the minibatch that should be computed by the worker. If the given source
      is run in batch mode this simply wraps parameters that external source would pass to
      the source in non-parallel mode. In sample mode, it is (part of) the list
      of nvidia.dali.types.SampleInfo produced by the external source.
code: def __init__(
      self, context_i, scheduled_i, epoch_start, task: TaskArgs
  ):
      self.context_i = context_i
      self.scheduled_i = scheduled_i
      self.epoch_start = epoch_start
      self.task = task
  
imports: from typing import Optional
  from nvidia.dali.types import SampleInfo
  from nvidia.dali._multiproc.struct_message import Structure
label_desc: Use image node_id 1 to create a new ScheduledTask object  with example: obj = ScheduledTask(context_i, scheduled_i, epoch_start, task)