mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-06-04 11:24:00 +08:00

### What problem does this PR solve? Add code_executor_manager. #4977. ### Type of change - [x] New Feature (non-breaking change which adds functionality)
4 lines
45 KiB
XML
4 lines
45 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!-- Do not edit this file with editors other than draw.io -->
|
||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||
<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1058px" height="581px" viewBox="-0.5 -0.5 1058 581" content="<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0" version="27.0.8">
 <diagram name="Page-1" id="SWtVYv8wlh6JJXHhfL9S">
 <mxGraphModel dx="2063" dy="899" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
 <root>
 <mxCell id="0" />
 <mxCell id="1" parent="0" />
 <mxCell id="Mp0bcvQGua8Wo26LydRW-20" value="" style="rounded=1;whiteSpace=wrap;html=1;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="-47.5" y="400" width="735" height="360" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;fontSize=13;" edge="1" parent="1" source="Mp0bcvQGua8Wo26LydRW-1" target="Mp0bcvQGua8Wo26LydRW-3">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-1" value="RAGFlow" style="rounded=1;whiteSpace=wrap;html=1;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="260" y="180" width="120" height="60" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;fontSize=13;" edge="1" parent="1" source="Mp0bcvQGua8Wo26LydRW-3" target="Mp0bcvQGua8Wo26LydRW-1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-3" value="executor_manager" style="rounded=1;whiteSpace=wrap;html=1;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="260" y="280" width="120" height="60" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-14" value="Code executor pool" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="250" y="520" width="140" height="30" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-18" value="code run reqest" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="170" y="248" width="110" height="30" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-19" value="response" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="365" y="248" width="80" height="30" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-21" value="executor_manager lifespan" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="675" y="370" width="180" height="30" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.459;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=13;" edge="1" parent="1" source="Mp0bcvQGua8Wo26LydRW-3" target="Mp0bcvQGua8Wo26LydRW-20">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.542;exitY=0;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;exitPerimeter=0;fontSize=13;" edge="1" parent="1" source="Mp0bcvQGua8Wo26LydRW-20" target="Mp0bcvQGua8Wo26LydRW-3">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-27" value="patch run task" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="175" y="358" width="110" height="30" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-28" value="code result" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="345" y="358" width="90" height="30" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-29" value="Before: creating gVisor guarded code executor pool&amp;nbsp; " style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="690" y="455" width="320" height="30" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-37" value="After: resource clean up&amp;nbsp; " style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="690" y="655" width="170" height="30" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-38" value="" style="group;fontSize=13;" vertex="1" connectable="0" parent="1">
 <mxGeometry x="28.75" y="420" width="582.5" height="100" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-5" value="" style="rounded=0;whiteSpace=wrap;html=1;container=0;fontSize=13;" vertex="1" parent="Mp0bcvQGua8Wo26LydRW-38">
 <mxGeometry width="582.5" height="100" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-6" value="&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Python&lt;/div&gt;&lt;div&gt;in&lt;/div&gt;&lt;div&gt;runsc&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=13;" vertex="1" parent="Mp0bcvQGua8Wo26LydRW-38">
 <mxGeometry x="41.25" y="10" width="80" height="80" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-8" value="&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Python&lt;/div&gt;&lt;div&gt;in&lt;/div&gt;&lt;div&gt;runsc&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=13;" vertex="1" parent="Mp0bcvQGua8Wo26LydRW-38">
 <mxGeometry x="181.25" y="10" width="80" height="80" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-9" value="&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Node.js&lt;/div&gt;&lt;div&gt;in&lt;/div&gt;&lt;div&gt;runsc&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=13;" vertex="1" parent="Mp0bcvQGua8Wo26LydRW-38">
 <mxGeometry x="321.25" y="10" width="80" height="80" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-13" value="&lt;br&gt;&lt;div&gt;...&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=13;" vertex="1" parent="Mp0bcvQGua8Wo26LydRW-38">
 <mxGeometry x="461.25" y="10" width="80" height="80" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-30" value="gVisor" style="rounded=0;whiteSpace=wrap;html=1;fontSize=13;" vertex="1" parent="Mp0bcvQGua8Wo26LydRW-38">
 <mxGeometry x="46.25" y="15" width="70" height="20" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-31" value="gVisor" style="rounded=0;whiteSpace=wrap;html=1;fontSize=13;" vertex="1" parent="Mp0bcvQGua8Wo26LydRW-38">
 <mxGeometry x="186.25" y="15" width="70" height="20" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-32" value="gVisor" style="rounded=0;whiteSpace=wrap;html=1;fontSize=13;" vertex="1" parent="Mp0bcvQGua8Wo26LydRW-38">
 <mxGeometry x="326.25" y="15" width="70" height="20" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-33" value="gVisor" style="rounded=0;whiteSpace=wrap;html=1;fontSize=13;" vertex="1" parent="Mp0bcvQGua8Wo26LydRW-38">
 <mxGeometry x="466.25" y="15" width="70" height="20" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-40" value="" style="rounded=0;whiteSpace=wrap;html=1;container=0;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="28.75" y="630" width="582.5" height="100" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-41" value="&lt;div&gt;x_x&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="70" y="640" width="80" height="80" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-42" value="x_x" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="210" y="640" width="80" height="80" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-43" value="x_x" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="350" y="640" width="80" height="80" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-44" value="&lt;br&gt;&lt;div&gt;...&lt;/div&gt;" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="490" y="640" width="80" height="80" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-59" value="Clean up" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="285" y="730" width="80" height="30" as="geometry" />
 </mxCell>
 <mxCell id="Mp0bcvQGua8Wo26LydRW-60" value="Task orchestration and pool management..." style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" vertex="1" parent="1">
 <mxGeometry x="175" y="565" width="270" height="30" as="geometry" />
 </mxCell>
 </root>
 </mxGraphModel>
 </diagram>
</mxfile>
"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="Mp0bcvQGua8Wo26LydRW-20"><g><rect x="0.5" y="220" width="735" height="360" rx="54" ry="54" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-15"><g><path d="M 338 60 L 338 93.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 338 98.88 L 334.5 91.88 L 338 93.63 L 341.5 91.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-1"><g><rect x="308" y="0" width="120" height="60" rx="9" ry="9" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 30px; margin-left: 309px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">RAGFlow</div></div></div></foreignObject><text x="368" y="34" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">RAGFlow</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-17"><g><path d="M 398 100 L 398 66.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 398 61.12 L 401.5 68.12 L 398 66.37 L 394.5 68.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-3"><g><rect x="308" y="100" width="120" height="60" rx="9" ry="9" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 130px; margin-left: 309px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">executor_manager</div></div></div></foreignObject><text x="368" y="134" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">executor_manager</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-14"><g><rect x="298" y="340" width="140" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 355px; margin-left: 368px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">Code executor pool</div></div></div></foreignObject><text x="368" y="359" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">Code executor pool</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-18"><g><rect x="218" y="68" width="110" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 83px; margin-left: 273px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">code run reqest</div></div></div></foreignObject><text x="273" y="87" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">code run reqest</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-19"><g><rect x="413" y="68" width="80" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 83px; margin-left: 453px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">response</div></div></div></foreignObject><text x="453" y="87" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">response</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-21"><g><rect x="723" y="190" width="180" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 205px; margin-left: 813px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">executor_manager lifespan</div></div></div></foreignObject><text x="813" y="209" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">executor_manager lifespan</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-22"><g><path d="M 338 160 L 338 190 L 337.89 213.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 337.87 218.88 L 334.4 211.87 L 337.89 213.63 L 341.4 211.9 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-26"><g><path d="M 398.87 220 L 398.9 190 L 398.19 166.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 398.03 161.12 L 401.74 168.01 L 398.19 166.37 L 394.75 168.22 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-27"><g><rect x="223" y="178" width="110" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 193px; margin-left: 278px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">patch run task</div></div></div></foreignObject><text x="278" y="197" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">patch run task</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-28"><g><rect x="393" y="178" width="90" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 193px; margin-left: 438px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">code result</div></div></div></foreignObject><text x="438" y="197" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">code result</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-29"><g><rect x="738" y="275" width="320" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 290px; margin-left: 898px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">Before: creating gVisor guarded code executor pool </div></div></div></foreignObject><text x="898" y="294" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">Before: creating gVisor guarded code executor poo...</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-37"><g><rect x="738" y="475" width="170" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 490px; margin-left: 823px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">After: resource clean up </div></div></div></foreignObject><text x="823" y="494" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">After: resource clean up </text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-38"><g/><g data-cell-id="Mp0bcvQGua8Wo26LydRW-5"><g><rect x="76.75" y="240" width="582.5" height="100" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-6"><g><rect x="118" y="250" width="80" height="80" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 290px; margin-left: 119px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div>Python</div><div>in</div><div>runsc</div></div></div></div></foreignObject><text x="158" y="294" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">Python...</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-8"><g><rect x="258" y="250" width="80" height="80" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 290px; margin-left: 259px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div><br /></div><div>Python</div><div>in</div><div>runsc</div></div></div></div></foreignObject><text x="298" y="294" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">Python...</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-9"><g><rect x="398" y="250" width="80" height="80" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 290px; margin-left: 399px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div><br /></div><div>Node.js</div><div>in</div><div>runsc</div></div></div></div></foreignObject><text x="438" y="294" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">Node.js...</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-13"><g><rect x="538" y="250" width="80" height="80" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 290px; margin-left: 539px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><br /><div>...</div></div></div></div></foreignObject><text x="578" y="294" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">
...</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-30"><g><rect x="123" y="255" width="70" height="20" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 265px; margin-left: 124px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">gVisor</div></div></div></foreignObject><text x="158" y="269" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">gVisor</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-31"><g><rect x="263" y="255" width="70" height="20" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 265px; margin-left: 264px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">gVisor</div></div></div></foreignObject><text x="298" y="269" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">gVisor</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-32"><g><rect x="403" y="255" width="70" height="20" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 265px; margin-left: 404px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">gVisor</div></div></div></foreignObject><text x="438" y="269" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">gVisor</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-33"><g><rect x="543" y="255" width="70" height="20" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 265px; margin-left: 544px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">gVisor</div></div></div></foreignObject><text x="578" y="269" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">gVisor</text></switch></g></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-40"><g><rect x="76.75" y="450" width="582.5" height="100" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-41"><g><rect x="118" y="460" width="80" height="80" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 500px; margin-left: 119px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>x_x</div></div></div></div></foreignObject><text x="158" y="504" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">x_x</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-42"><g><rect x="258" y="460" width="80" height="80" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 500px; margin-left: 259px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">x_x</div></div></div></foreignObject><text x="298" y="504" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">x_x</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-43"><g><rect x="398" y="460" width="80" height="80" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 500px; margin-left: 399px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">x_x</div></div></div></foreignObject><text x="438" y="504" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">x_x</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-44"><g><rect x="538" y="460" width="80" height="80" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 500px; margin-left: 539px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><br /><div>...</div></div></div></div></foreignObject><text x="578" y="504" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">
...</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-59"><g><rect x="333" y="550" width="80" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 565px; margin-left: 373px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">Clean up</div></div></div></foreignObject><text x="373" y="569" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">Clean up</text></switch></g></g></g><g data-cell-id="Mp0bcvQGua8Wo26LydRW-60"><g><rect x="223" y="385" width="270" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 400px; margin-left: 358px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 13px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; ">Task orchestration and pool management...</div></div></div></foreignObject><text x="358" y="404" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="13px" text-anchor="middle">Task orchestration and pool management...</text></switch></g></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg> |