$name = $job->{name};
foreach my $taskset ( keys %{ $job->{task} } ) {
- dot "subgraph ${name}_$taskset {";
+ dot qq|subgraph cluster_${name}_$taskset {
+ style = filled; color=lightgray; label="$name"
+ node [style=filled,color=white];
+ |;
my @t = @{ $job->{task}->{$taskset} };
my $wait = $t[$#t] eq 'wait' && pop @t;
foreach my $f ( @t ) {
- dot qq|"$name" -> "$f"|;
- dot qq|"$f" -> "${name}_wait"| if $wait;
+ dot qq|"$name" -> "$f";|;
+ dot qq|"$f" -> "${name}";| if $wait;
}
dot "} //subgraph";
}
push @{ $job->{task}->{$1} }, 'wait';
}
} elsif ( m/\$self->(do\w*)\(\s*'(\w+)'/ ) {
- push @{ $job->{$1} }, $2;
- dot qq|"$job->{name}" -> "$2" [ label="$1" ]|;
+ my ( $do, $what ) = ( $1, $2 );
+ push @{ $job->{$do} }, $what;
+ my $style = '';
+ $style = ' style=dotted ' if $do =~ s/_background.*//;
+ dot qq|"$job->{name}" -> "$what" [ $style ];|;
}
}
print_job $name => $job;