Пример #1
0
    supervisor.set_emperor(emperor)

    def signal_stop_handler(sig, frame):
        supervisor.send("finish", None)

    for sig in (signal.SIGINT, signal.SIGTERM, signal.SIGHUP):
        signal.signal(sig, signal_stop_handler)


if __name__ == "__main__":
    # Configure logging
    logging.basicConfig(format="%(levelname)s -- %(message)s", level=logging.INFO)

    # Define actors
    timer = Timer()
    root = Supervisor(timer.timer_proxy())
    consumer = Consumer()
    producer = Producer(timer.timer_proxy())
    producer.connect("out", consumer, "in")

    root.start()
    timer.start()
    root.spawn(consumer)
    root.spawn(producer)

    # Define reactors
    loop = LoopReactor(processes=[consumer, producer, root])
    timer_loop = TimedReactor(processes=[timer])

    emp = Emperor(children=[loop, timer_loop])
    register_stop_signal(root, emp)
Пример #2
0
    def signal_stop_handler(sig, frame):
        supervisor.send("finish", None)

    for sig in (signal.SIGINT, signal.SIGTERM, signal.SIGHUP):
        signal.signal(sig, signal_stop_handler)


if __name__ == "__main__":
    # Configure logging
    logging.basicConfig(format="%(levelname)s -- %(message)s",
                        level=logging.INFO)

    # Define actors
    timer = Timer()
    root = Supervisor(timer.timer_proxy())
    consumer = Consumer()
    producer = Producer(timer.timer_proxy())
    producer.connect("out", consumer, "in")

    root.start()
    timer.start()
    root.spawn(consumer)
    root.spawn(producer)

    # Define reactors
    loop = LoopReactor(processes=[consumer, producer, root])
    timer_loop = TimedReactor(processes=[timer])

    emp = Emperor(children=[loop, timer_loop])
    register_stop_signal(root, emp)