code: def checkpoint(self, message, header=None, delay=0, **kwargs):
          
          if not self.transport:
              raise ValueError(
                  "This RecipeWrapper object does not contain "
                  "a reference to a transport object."
              )
  
          if not self.recipe_step:
              raise ValueError(
                  "This RecipeWrapper object does not contain "
                  "a recipe with a selected step."
              )
  
          kwargs["delay"] = delay
  
          self._send_to_destination(
              self.recipe_pointer, header, message, kwargs, add_path_step=False
          )
docs: Send a message to the current recipe destination. This can be used to
          keep a state for longer processing tasks.
          :param delay: Delay transport of message by this many seconds