Files
deb-python-taskflow/doc/source/img/task_states.svg
Joshua Harlow 2fa4af7a24 Split-off the additional retry states from the task states
Split the states that are not task states (but are retry
states) into there own additional set and then use that set
and a new function to validate the transition at other locations
in the code-base.

This makes the transitions that are valid for tasks/retries
easily viewable, more easy to read and understand, and
more correct (instead of being a mix of task + retry atom
transitions and states).

Change-Id: I9515c19daf59a21e581f51e757ece2050f348214
2015-06-18 07:41:25 -07:00

9 lines
18 KiB
XML

<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<!-- Generated by graphviz version 2.36.0 (20140111.2315)
-->
<!-- Title: Tasks states Pages: 1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="644pt" height="113pt" viewBox="0.00 0.00 643.60 113.00" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 109)"><polygon fill="white" stroke="none" points="-4,4 -4,-109 639.6,-109 639.6,4 -4,4"/><title>Tasks states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="103.6" cy="-79" rx="39.8775" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="103.6" cy="-79" rx="39.8775" ry="18" style="fill: url(#none);stroke: black;"/><text text-anchor="middle" x="103.6" y="-76.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:sans-serif;">PENDING</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="221.6" cy="-56" rx="41.4846" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="221.6" cy="-56" rx="41.4846" ry="18" style="fill: url(#none);stroke: black;"/><text text-anchor="middle" x="221.6" y="-53.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:sans-serif;">RUNNING</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="174.436,-68.7214 183.564,-63.3433 173.074,-61.8551 174.436,-68.7214" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M140.35,-71.9116C150.85,-69.8298 162.495,-67.5207 173.585,-65.3219" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="174.436,-68.7214 183.564,-63.3433 173.074,-61.8551 174.436,-68.7214" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M140.35,-71.9116C150.85,-69.8298 162.495,-67.5207 173.585,-65.3219"/></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="338.6" cy="-18" rx="39.1741" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="338.6" cy="-18" rx="39.1741" ry="18" style="fill: url(#none);stroke: black;"/><text text-anchor="middle" x="338.6" y="-15.2" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:sans-serif;">SUCCESS</text></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="298.059,-34.752 306.456,-28.2912 295.862,-28.1055 298.059,-34.752" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M255.247,-45.2124C268.178,-40.9394 283.186,-35.9803 296.82,-31.4751" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="298.059,-34.752 306.456,-28.2912 295.862,-28.1055 298.059,-34.752" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M255.247,-45.2124C268.178,-40.9394 283.186,-35.9803 296.82,-31.4751"/></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="590.6" cy="-18" rx="38.4712" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="590.6" cy="-18" rx="38.4712" ry="18" style="fill: url(#none);stroke: black;"/><text text-anchor="middle" x="590.6" y="-15.2" font-family="Times,serif" font-size="11.00" fill="red" style="font-size:10px; font-family:sans-serif;">FAILURE</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="553.052,-36.5055 561.247,-29.7894 550.653,-29.9297 553.052,-36.5055" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M262.926,-58.0652C318.829,-60.1124 422.799,-60.9658 509.6,-45 523.616,-42.422 538.524,-37.9082 551.625,-33.3006" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="553.052,-36.5055 561.247,-29.7894 550.653,-29.9297 553.052,-36.5055" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M262.926,-58.0652C318.829,-60.1124 422.799,-60.9658 509.6,-45 523.616,-42.422 538.524,-37.9082 551.625,-33.3006"/></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="461.6" cy="-18" rx="48.2143" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="461.6" cy="-18" rx="48.2143" ry="18" style="fill: url(#none);stroke: black;"/><text text-anchor="middle" x="461.6" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:sans-serif;">REVERTING</text></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="403.212,-21.5001 413.212,-18 403.212,-14.5001 403.212,-21.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M377.885,-18C385.947,-18 394.62,-18 403.209,-18" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="403.212,-21.5001 413.212,-18 403.212,-14.5001 403.212,-21.5001" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M377.885,-18C385.947,-18 394.62,-18 403.209,-18"/></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="516.737,-21.1813 506.662,-24.4607 516.583,-28.1796 516.737,-21.1813" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M554.007,-24.1336C542.529,-24.6746 529.533,-24.8595 517.018,-24.6883" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="516.737,-21.1813 506.662,-24.4607 516.583,-28.1796 516.737,-21.1813" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M554.007,-24.1336C542.529,-24.6746 529.533,-24.8595 517.018,-24.6883"/></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="543.885,-14.9952 554.007,-11.8664 544.143,-7.99992 543.885,-14.9952" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M506.662,-11.5393C518.631,-11.1724 531.619,-11.1545 543.687,-11.4856" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="543.885,-14.9952 554.007,-11.8664 544.143,-7.99992 543.885,-14.9952" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M506.662,-11.5393C518.631,-11.1724 531.619,-11.1545 543.687,-11.4856"/></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="590.6" cy="-87" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="590.6" cy="-87" rx="45.2009" ry="18" style="fill: url(#none);stroke: black;"/><text text-anchor="middle" x="590.6" y="-84.2" font-family="Times,serif" font-size="11.00" fill="darkorange" style="font-size:10px; font-family:sans-serif;">REVERTED</text></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="552.378,-70.7605 562.836,-72.4591 555.72,-64.6096 552.378,-70.7605" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M489.845,-32.8022C508.553,-42.9667 533.576,-56.5617 553.879,-67.5927" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="552.378,-70.7605 562.836,-72.4591 555.72,-64.6096 552.378,-70.7605" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M489.845,-32.8022C508.553,-42.9667 533.576,-56.5617 553.879,-67.5927"/></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="153.295,-78.4014 143.126,-81.377 152.931,-85.3919 153.295,-78.4014" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M545.297,-87.1991C470.091,-87.3957 312.648,-87.195 179.6,-83 171.076,-82.7312 162.011,-82.3387 153.24,-81.9032" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="153.295,-78.4014 143.126,-81.377 152.931,-85.3919 153.295,-78.4014" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M545.297,-87.1991C470.091,-87.3957 312.648,-87.195 179.6,-83 171.076,-82.7312 162.011,-82.3387 153.24,-81.9032"/></g><g id="node7" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-79" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-79" rx="3.6" ry="3.6" style="fill: url(#black);stroke: black;"/><text text-anchor="middle" x="10" y="-66.6" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:sans-serif;">start</text></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="53.5965,-82.5001 63.5964,-79 53.5964,-75.5001 53.5965,-82.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5624,-79C32.3405,-79 42.3529,-79 53.5516,-79" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="53.5965,-82.5001 63.5964,-79 53.5964,-75.5001 53.5965,-82.5001" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5624,-79C32.3405,-79 42.3529,-79 53.5516,-79"/></g></g>
</svg>