Skip to content

knownasilya/async-workflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

async-workflow

Run JSON based workflows

npm Travis branch Coveralls branch

Example

const Bluebird = require('bluebird') const Runner = require('async-workflow') const runner = new Runner({ startTaskId: 'clone', tasks: { clone: { fn(options) { return Bluebird.resolve('clone') }, options: { repo: 'knownasilya/async-workflow' }, successTaskId: 'install', failureTaskId: 'cleanup' }, install: { // Run in parallel tasks: { installA: { fn() { return new Bluebird((resolve) => { setTimeout(() => { resolve('installA') }, 300) }) } }, installB: { fn() { return new Bluebird((resolve) => { setTimeout(() => { resolve('installB') }, 100) }) } } }, // Run once all pass or any fail successTaskId: 'test', failureTaskId: 'cleanup' }, test: { fn() { return Bluebird.resolve('test') }, successTaskId: 'deploy', failureTaskId: 'cleanup' }, deploy: { fn() { return Bluebird.resolve('deploy') } }, cleanup: { fn() { return Bluebird.resolve('cleanup') } } } }) const results = await runner.start()

TODO

  • Test parallel tasks
  • Figure out how results should be formatted/passed along
  • Time tasks
  • docker shell run

About

Async Task Workflow

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published