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
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
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
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)
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()
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