Code Monkey home page Code Monkey logo

ebr's Introduction

EBR (External Batch Runner)

build license

中文 | 日本語

Intro

EBR is a simple tool used to manage several external process with clear dependencies.

This is a pure personal project. Update only when adding or modifying features.

Quick Start

Flow's Define (folder [/sample_path/ebr/data/FLOW-4.json])

{
  "flow": {
    "desc": "sample flow-4 (nested hybrid)"
  },
  "T1": {
    "group": "flow", "desc": "test task unit T1", "script": "echo.sh T1"
  },
  "T2": {
    "group": "flow", "desc": "test task unit T2",
    "depends": [ "T1" ]
  },
  "T2-1": {
    "group": "T2", "desc": "test task unit T2-1", "script": "echo.sh T2-1"
  },
  "T2-2": {
    "group": "T2", "desc": "test task unit T2-2", "script": "echo.sh T2-2"
  },
  "T2-3": {
    "group": "T2", "desc": "test task unit T2-3", "script": "echo.sh T2-3",
    "depends": [ "T2-1", "T2-2" ]
  },
  "T3": {
    "group": "flow", "desc": "test task unit T3", "script": "echo.sh T3",
    "depends": [ "T1", "T2" ]
  },
  "T4": {
    "group": "flow", "desc": "test task unit T4", "script": "echo.sh T4",
    "depends": [ "T1" ]
  }
}

The define file will be read and translated to a graph(DAG) data struct when the flow is ready to run image

  • Server Start
root@sample-server: /sample_path/ebr/bin/server-startup.sh
  • CLI
root@sample-server: /sample_path/ebr/bin/ebr show
URL                                       State                 LastModifiedTime          Size(bytes)
-----------------------------------------------------------------------------------------------------
/FLOW-4                                   stored                2021-07-16 19:45:54               881


root@sample-server: /sample_path/ebr/bin/ebr show -f /FLOW-4
URL               Type    State     Depends                             Script
-----------------------------------------------------------------------------------------------------------
/FLOW-4/T4        task    stored    /FLOW-4/T1                          /sample_path/ebr/bin/echo.sh T4
/FLOW-4/T1        task    stored    --                                  /sample_path/ebr/bin/echo.sh T1
/FLOW-4/T2        group   stored    /FLOW-4/T1                          --
/FLOW-4/T2/T2-3   task    stored    /FLOW-4/T2/T2-1, /FLOW-4/T2/T2-2    /sample_path/ebr/bin/echo.sh T2-3
/FLOW-4/T2/T2-1   task    stored    --                                  /sample_path/ebr/bin/echo.sh T2-1
/FLOW-4/T2/T2-2   task    stored    --                                  /sample_path/ebr/bin/echo.sh T2-2
/FLOW-4/T3        task    stored    /FLOW-4/T1, /FLOW-4/T2              /sample_path/ebr/bin/echo.sh T3

root@sample-server: /sample_path/ebr/bin/ebr start -f /FLOW-4
  • Task's execution order
T1 --> T4,T2-1,T2-2 --> T2-3 --> T3

Usecase

image

ebr's People

Contributors

catforward avatar dependabot[bot] avatar

Watchers

 avatar

ebr's Issues

flow启动后的state应为standby

现状:flow启动后的state应为stored
问题:此状态无法判断flow是否已经被启动,且不能与其他未启动flow区分

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.