#!/usr/bin/env python # -*- coding: utf-8 -*- #python /usr/lib/python2.6/site-packages/rpyc/servers/classic_server.py -m 'forking' from numap import NuMap, imports from papy.core import Piper @imports(['os']) def hello_from(inbox): word = inbox[0] up_pid = os.getpid() return (word, up_pid) somehost = NuMap(worker_num=0, worker_remote=[('localhost', 2)]) remote_piper = Piper(hello_from, parallel=somehost) remote_piper([['hello', 'world', 'hi', 'folks']]) remote_piper.start() print list(remote_piper)
from papy.util.func import dump_item, load_item from numap import NuMap, imports from papy.core import Piper, Worker @imports(['os']) def upstream(inbox): up_pid = os.getpid() return str(up_pid) @imports(['os']) def downstream(inbox): up_pid = inbox[0] down_pid = os.getpid() return "%s->%s" % (up_pid, down_pid) host1 = NuMap() host2 = NuMap() up = Worker((upstream, dump_item)) dn = Worker((load_item, downstream)) up_ = Piper(up, parallel=host1) dn_ = Piper(dn, parallel=host2) up_([['hello', 'world', 'hi', 'folks']]) dn_([up_]) up_.start() dn_.start() print list(dn_)
#!/usr/bin/env python # -*- coding: utf-8 -*- from papy.core import Piper def l33t(inbox): word = inbox[0] return word.replace('e', '3').replace('o', '0') l33t_piper = Piper(l33t) l33t_piper([['hello', 'world']]) l33t_piper.start() print list(l33t_piper)
def l33t(inbox): word = inbox[0] leet_yuk = (word.replace('e', '3').replace('o', '0'), 'yuk') print "I'll produce: %s and %s" % leet_yuk return leet_yuk def upper(inbox): word = inbox[0] return word.upper() def noyuk(inbox): print "I got 2 words and 2 yuks: %s" % inbox word_box1, yuk_box1, word_box2, yuk_box2 = inbox return word_box1[0] + ' ' + word_box2[0] l33t_piper = Piper(l33t, produce=2) upper_piper = Piper(upper, spawn=2) noyuk_piper = Piper(noyuk, consume=4) l33t_piper([['hello', 'world', 'hi', 'folks']]) upper_piper([l33t_piper]) noyuk_piper([upper_piper]) l33t_piper.start() upper_piper.start() noyuk_piper.start() print list(noyuk_piper)
#!/usr/bin/env python # -*- coding: utf-8 -*- from papy.core import Piper def nimm2(inbox): left_box, right_box = inbox left_word, right_word = left_box[0], right_box[0] return left_word + ' ' + right_word l33t_piper = Piper(nimm2, consume=2) l33t_piper([['hello', 'world', 'hi', 'folks']]) # length of 4 l33t_piper.start() out = list(l33t_piper) assert out == ['hello world', 'hi folks'] # length of 2 print out
#!/usr/bin/env python # -*- coding: utf-8 -*- from papy.core import Piper def l33t(inbox): word = inbox[0] leet_yuk = (word.replace('e', '3').replace('o', '0'), 'yuk') print "I'll produce: %s and %s" % leet_yuk return leet_yuk def noyuk(inbox): print "I got 2 words and 2 yuks: %s" % inbox word_box1, yuk_box1, word_box2, yuk_box2 = inbox return word_box1[0] + ' ' + word_box2[0] l33t_piper = Piper(l33t, produce=2) noyuk_piper = Piper(noyuk, consume=4) l33t_piper([['hello', 'world', 'hi', 'folks']]) noyuk_piper([l33t_piper]) l33t_piper.start() noyuk_piper.start() print list(noyuk_piper)