NAME

App::Oozie::Deploy::Validate::DAG::Workflow

VERSION

version 0.011

SYNOPSIS

DESCRIPTION

Used by Oozie deploy tool to prevent mistakes before submission. Checks the workflow is a properly formed DAG.

NAME

App::Oozie::Deploy::Validate::DAG::Workflow - Part of the Oozie workflow DAG validator.

Methods

assert

current_graph

current_nodes

current_vertices

dump_graph

graph_filename

node_types

validate

Possible Extensions

sub _dump_graphviz {
    my $self = shift;
    my $g    = $self->current_graph || die "current_graph is not set!";
    my $file = $self->graph_filename;

    require Graph::Writer::GraphViz;

    Graph::Writer::GraphViz->new(
        -edge_color => 1,
        -fontsize   => 8,
        -format     => 'png',
        -layout     => 'twopi',
        -node_color => 2,
        -ranksep    => 1.5,
    )->write_graph( $g, $file );

    $self->logger->info( "$file is created." );

    return;
}

sub _dump_d3 {
    my $self = shift;
    my $g    = $self->current_graph || die "current_graph is not set!";
    require Graph::D3;
    my $d3 = Graph::D3->new(
                graph => $g,
                type  => 'json',
            );
    print $d3->force_directed_graph;
}

SEE ALSO

App::Oozie.

AUTHORS

  • David Morel

  • Burak Gursoy

COPYRIGHT AND LICENSE

This software is copyright (c) 2023 by Booking.com.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.