Exemplo n.º 1
0
def run_generator(lam, outputs):

    global func
    global sockets

    ctrl = os.fdopen(3, 'w')

    # -----------------------------------------------------------------------

    ctrl.write("INIT\n")

    lam = marshal.loads(base64.b64decode(lam))
    func = types.FunctionType(lam, globals())

    sockets = wye.parse_outputs(outputs)

    ctrl.write("RUNNING\n")
    ctrl.flush()

    # -----------------------------------------------------------------------

    gen = func()
    
    while True:

        msg = next(gen)
        msg = json.dumps(msg)

        for s in sockets["output"]:
            s.send(msg)
Exemplo n.º 2
0
def run_lambda(lam, outputs):

    global func
    global sockets

    # -----------------------------------------------------------------------

    ctrl = os.fdopen(3, 'w')

    ctrl.write("INIT\n")

    lam = marshal.loads(base64.b64decode(lam))
    func = types.FunctionType(lam, globals())

    sockets = wye.parse_outputs(outputs)

    # -----------------------------------------------------------------------

    fqdn = socket.getfqdn()
    ctxt = zmq.Context()
    skt = ctxt.socket(zmq.PULL)
    port = skt.bind_to_random_port("tcp://*")
    input="tcp://%s:%d" % (fqdn, port)
    ctrl.write("INPUT:input:%s\n" % input)

    ctrl.write("RUNNING\n")
    ctrl.flush()

    # -----------------------------------------------------------------------

    while True:
        msg = skt.recv()
        handle(json.loads(msg))
Exemplo n.º 3
0
import time
import sys
import zmq
import random
import json
import socket
import wye
import os

# ---------------------------------------------------------------------------

ctrl = os.fdopen(3, 'w')
ctrl.write("INIT\n")
sockets = wye.parse_outputs(sys.argv[1:])
fqdn = socket.getfqdn()
ctxt = zmq.Context()
skt = ctxt.socket(zmq.PULL)
port = skt.bind_to_random_port("tcp://*")
input = "tcp://%s:%d" % (fqdn, port)
ctrl.write("INPUT:input:%s\n" % input)
ctrl.write("RUNNING\n")
ctrl.flush()
sys.stderr.write("T2 is running.\n")

# ---------------------------------------------------------------------------


def handle(msg):
    val = msg["x"] * msg["y"]

    msg = {"mul": val}