def inner(signals=False, condition=None, event_notifier=None):
    def before_shutdown():
        print "Stopping servers..."

    import signal
    import voodoo.gen.launcher as Launcher
    import voodoo.rt_debugger as rt_debugger

    rt_debugger.launch_debugger()

    if condition is not None:
        waiters = (Launcher.ConditionWait(condition), )
    elif signals:
        waiters = (
            Launcher.SignalWait(signal.SIGTERM),
            Launcher.SignalWait(signal.SIGINT),
            Launcher.RawInputWait(
                "Press <enter> or send a sigterm or a sigint to finish.\n"),
        )
    else:
        waiters = (Launcher.RawInputWait("Control+C to finish.\n"), )

    event_notifiers = (Launcher.FileNotifier("_file_notifier",
                                             "server started"), )
    if event_notifier:
        event_notifiers += (Launcher.ConditionNotifier(event_notifier), )

    launcher = Launcher.Launcher('.', 'myhost', 'myprocess', waiters,
                                 "logging.configuration.txt", before_shutdown,
                                 event_notifiers)
    launcher._wait_condition = condition
    return launcher
Esempio n. 2
0
def inner(signals = False, condition = None, event_notifier = None):
    def before_shutdown():
        print("Stopping servers...")

    import signal
    import voodoo.gen.launcher as Launcher
    import voodoo.rt_debugger as rt_debugger

    rt_debugger.launch_debugger()

    if condition is not None:
        waiters = ( Launcher.ConditionWait(condition), )
    elif signals:
        waiters = (
                Launcher.SignalWait(signal.SIGTERM),
                Launcher.SignalWait(signal.SIGINT),
                Launcher.RawInputWait("Press <enter> or send a sigterm or a sigint to finish.\n"),
            )
    else:
        waiters = (
                Launcher.RawInputWait("Control+C to finish.\n"),
            )

    event_notifiers = (
                 Launcher.FileNotifier("_file_notifier", "server started"),
            )
    if event_notifier:
        event_notifiers += ( Launcher.ConditionNotifier(event_notifier),)

    launcher = Launcher.Launcher(
            '.',
            'main_machine',
            'main_instance',
            waiters,
            "logging.configuration.txt",
            before_shutdown,
            event_notifiers
        )
    launcher._wait_condition = condition
    return launcher
Esempio n. 3
0
            for process in dead_processes:
                processes.remove(process)
            if len(processes) == 0:
                break
            else:
                time.sleep(0.05)


def kill_launcher(pid_file):
    pid = int(open(pid_file).read())
    os.kill(pid, signal.SIGTERM)


if __name__ == '__main__':
    if len(sys.argv) != 7:
        print >> sys.stderr, "Error: invalid number of arguments"
        sys.exit(-1)

    _, config_dir, machine_name, instance_name, logging_file, waiting_port, debugger_port = sys.argv
    waiters = (RawInputWait(""), )
    notifiers = (SocketNotifier("localhost", int(waiting_port)), )
    if debugger_port != "None":
        rt_debugger.launch_debugger(int(debugger_port))
    launcher = Launcher(config_dir,
                        machine_name,
                        instance_name,
                        waiters,
                        logging_file,
                        event_notifiers=notifiers)
    launcher.launch()
Esempio n. 4
0
                else:
                    if return_code is not None:
                        dead_processes.append(process)
            for process in dead_processes:
                processes.remove(process)
            if len(processes) == 0:
                break
            else:
                time.sleep(0.05)

# In the past, HostLauncher was called MachineLauncher. 
# We keep this for compatiblity reasons
MachineLauncher = HostLauncher

def kill_launcher(pid_file):
    pid = int(open(pid_file).read())
    os.kill(pid, signal.SIGTERM)

if __name__ == '__main__':
    if len(sys.argv) != 6:
        print >> sys.stderr, "Error: invalid number of arguments"
        sys.exit(-1)

    _, config_dir, host_name, process_name, logging_file, debugger_port = sys.argv
    waiters = (SignalWait(),)
    if debugger_port != "None":
        rt_debugger.launch_debugger(int(debugger_port))
    launcher = Launcher(config_dir, host_name, process_name, waiters, logging_file)
    launcher.launch()

#
# Author: Pablo Orduña <*****@*****.**>
# 

import signal

import sys
sys.path.append('../../src')
import weblab
import voodoo.gen.loader.Launcher as Launcher

def before_shutdown():
    print "Stopping servers..."

import voodoo.rt_debugger as rt_debugger
rt_debugger.launch_debugger()

launcher = Launcher.MachineLauncher(
            '.',
            'main_machine',
            (
                Launcher.SignalWait(signal.SIGTERM),
                Launcher.SignalWait(signal.SIGINT),
                Launcher.RawInputWait("Press <enter> or send a sigterm or a sigint to finish\n")
            ),
            "logging.configuration.txt",
            before_shutdown,
            (
                 Launcher.FileNotifier("_file_notifier", "server started"),
            ),
            pid_file = '._machine.pid'
Esempio n. 6
0
# This software consists of contributions made by many individuals,
# listed below:
#
# Author: Pablo Orduña <*****@*****.**>
#

import signal

import sys
sys.path.append('../../src')

import weblab
import voodoo.gen.loader.Launcher as Launcher


def before_shutdown():
    print "Stopping servers..."


import voodoo.rt_debugger as rt_debugger
rt_debugger.launch_debugger()

launcher = Launcher.Launcher(
    '.', 'main_machine', 'main_instance',
    (Launcher.SignalWait(signal.SIGTERM), Launcher.SignalWait(signal.SIGINT),
     Launcher.RawInputWait(
         "Press <enter> or send a sigterm or a sigint to finish.\n")),
    "logging.configuration.no.log.txt", before_shutdown,
    (Launcher.FileNotifier("_file_notifier", "server started"), ))
launcher.launch()