Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Answered
Is There An External Way To Access Pipelinecontroller._Relaunch_Node(Node) ?

is there an external way to access PipelineController._relaunch_node(node) ?

  
  
Posted 9 months ago
Votes Newest

Answers 5


@<1523701070390366208:profile|CostlyOstrich36> I want the task to be queued and the pipeline to act like it's just a queued task and not fail

  
  
Posted 9 months ago

Hi @<1639799308809146368:profile|TritePigeon86> , can you please elaborate? What do you mean by external way?

  
  
Posted 9 months ago

maybe relaunch is not the proper solution, but I'm not sure what is, so I'm open to suggestions

  
  
Posted 9 months ago

Hey @<1639799308809146368:profile|TritePigeon86> , given that you want to retry on connection error, wouldn't it be easier to use retry_on_failure from PipelineController / PipelineDecorator.pipeline None ?

  
  
Posted 9 months ago

this is a protected property and therefore should not be called from outside (meaning it's not good practice to do my_pipeline_controller._relaunch_node(failed_node)

I want to create a status_change_callback that checks if node failed due to connection loss, and if so re-adds the task to the queue

my current code looks like this:

def retry_on_connection_error(pipeline: PipelineController, node: PipelineController.Node, *_, **__) -> None:
    if not (node.job is None):
        is_stopped = node.job.is_stopped(aborted_nonresponsive_as_running=True)
        if is_stopped:
            is_connection_lost = node.job.is_stopped(aborted_nonresponsive_as_running=False)
            if is_connection_lost:
                LOGGER.warning(f"Node {node.name} lost connection with worker {node.job.worker,name}")
                pipeline._relaunch_node(node)
            else:
                LOGGER.info(f"Node {node.name} is stopped")
  
  
Posted 9 months ago
591 Views
5 Answers
9 months ago
9 months ago
Tags
Similar posts