sujoyg / pipelines Goto Github PK
View Code? Open in Web Editor NEWA simple way to create a pipeline of tasks comprising parallel and serial segments or any combination thereof.
A simple way to create a pipeline of tasks comprising parallel and serial segments or any combination thereof.
Given:
class Tasks < Tube
def run
parallel do
invoke NumbersTask
invoke LettersTask
end
output
end
end
Instead of having to do:
tube = Tasks.new
tube.run
results = tube.output
do_something_with(results)
I expected to be able to:
results = Tasks.new.run
do_something_with(results)
```However, run always returns nil.
if my output is
[ {:number => 1}, {:number =>2} ]
[ {'number' => 1}, {'number' =>2} ]
It would be nice if output retained the original symbols
It's easy to forget to define your class as a tube.
When you do forget, the exception doesn't scream out what the problem is:
~/gems/ruby-1.9.3-p194/gems/tubes-0.1.17/lib/tubes.rb:79:in `initialize': wrong number of arguments(2 for 0) (ArgumentError)
from /Users/topprospect/.rvm/gems/ruby-1.9.3-p194/gems/tubes-0.1.17/lib/tubes.rb:79:in `new'
from /Users/topprospect/.rvm/gems/ruby-1.9.3-p194/gems/tubes-0.1.17/lib/tubes.rb:79:in `invoke'
I would be nice if Tubes threw a nicer exception.
example (bad) code:
class LettersTask # oops, forgot < Tube
def run
('A'..'J').map do |char|
char
end
end
end
class Tasks < Tube
def run
parallel do
invoke LettersTask
invoke LettersTask
end
end
end
if __FILE__ == $0
tube = Tasks.new
tube.run
end
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.