Пример #1
0
def makeplasm():
    plasm = ecto.Plasm()

    ping = ecto_test.Ping("Ping")
    sleep0 = ecto_test.Sleep("Sleep_0", seconds=0.1)
    sleep1 = ecto_test.Sleep("Sleep_1", seconds=0.1)

    plasm.connect(ping[:] >> sleep0[:], sleep0[:] >> sleep1[:])

    return plasm
Пример #2
0
def make_plasm():
    generate = ecto_test.Generate()
    param_watcher = ecto_test.ParameterWatcher(value=2)
    sleep = ecto_test.Sleep(seconds=0.1)
    plasm = ecto.Plasm()
    plasm.connect(generate["out"] >> param_watcher["input"])
    plasm.insert(sleep)
    return plasm
Пример #3
0
 def makeplasm():
     plasm = ecto.Plasm()
     ping = ecto_test.Ping("Ping")
     sleeps = [ecto_test.Sleep("Sleep_0", seconds=0.1) for x in range(20)]
     plasm.connect(ping[:] >> sleeps[0][:])
     for i in range(1, 19):
         print "i=", i
         plasm.connect(sleeps[i][:] >> sleeps[i + 1][:])
     return plasm
Пример #4
0
def makeplasm(n_nodes):
    plasm = ecto.Plasm()

    ping = ecto_test.Ping("Ping")
    throttle = ecto_test.Sleep("Sleep_0", seconds=1.0 / n_nodes)

    plasm.connect(ping[:] >> throttle[:])

    for j in range(n_nodes - 1):  # one has already been added
        throttle_next = ecto_test.Sleep("Sleep_%u" % (j + 1),
                                        seconds=1.0 / n_nodes)
        plasm.connect(throttle, "out", throttle_next, "in")
        throttle = throttle_next

    metrics = ecto_test.Metrics("Metrics", queue_size=4)
    plasm.connect(throttle[:] >> metrics[:])

    #    o = open('graph.dot', 'w')
    #    print >>o, plasm.viz()
    #    o.close()
    #    print "\n", plasm.viz(), "\n"

    return (plasm, metrics)
Пример #5
0
def test_async_stop_on_destructor():
    generate = ecto_test.Generate()
    param_watcher = ecto_test.ParameterWatcher(value=2)
    sleep = ecto_test.Sleep()
    printer = ecto_test.Printer()
    plasm = ecto.Plasm()
    plasm.connect(generate["out"] >> param_watcher["input"],
                  param_watcher['output'] >> printer[:])
    plasm.insert(sleep)
    #ecto.view_plasm(plasm)
    sched = ecto.Scheduler(plasm)
    sched.execute_async()
    for i in range(0, 10):
        sched.run_job()
Пример #6
0
def test_parameter_callbacks():
    generate = ecto_test.Generate()
    param_watcher = ecto_test.ParameterWatcher(value=2)
    sleep = ecto_test.Sleep()
    printer = ecto_test.Printer()
    plasm = ecto.Plasm()
    plasm.connect(generate["out"] >> param_watcher["input"],
                  param_watcher['output'] >> printer[:])
    plasm.insert(sleep)
    #ecto.view_plasm(plasm)
    sched = ecto.Scheduler(plasm)
    sched.execute_async(1)
    sched.run_job()  # check plasm, init parms, and compute_stack
    number = 1000
    param_watcher.params.value = number
    sched.run()

    assert 1000 == param_watcher.outputs.value