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 one month ago
Votes Newest

Answers 5


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

  
  
Posted one month ago

@<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 one month ago

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

  
  
Posted one month 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 one month 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 one month ago
141 Views
5 Answers
one month ago
one month ago
Tags
Similar posts