Skip to content

Event System

Compare
Choose a tag to compare
@PaulSchweizer PaulSchweizer released this 07 Nov 10:07
· 59 commits to master since this release
e35370e

StatsReporter and LogObserver are replaced by a unified and simplified Event system.

Original Issue: #97

How to use:

# Simple functions serve as listeners

def omitted_listener(node):
    print("Omitted:", node.name)

def started_listener(node):
    print("Started:", node.name)

def finished_listener(node):
    print("Finished:", node.name)


# Connect the listeners
INode.EVENTS['evaluation-omitted'].register(omitted_listener)
INode.EVENTS['evaluation-started'].register(started_listener)
INode.EVENTS['evaluation-finished'].register(finished_listener)

my_node = MyNode()

my_node.evaluate()

# Inspect the node's stats after evaluation
print(my_node.stats) 

>> {"eval_time": 0.123, "start_time": 1573121193}