コード例 #1
0
        def sigusr_handler(_signo, _stack_frame):
            if _signo == signal.SIGUSR1:
                emit(jvm={"errors": 1.0})
            elif _signo == signal.SIGUSR2:
                emit(jvm={"ooms": 1.0})
            else:
                # Should not happen
                pass
            m2ee.stop()
            sys.exit(1)

        signal.signal(signal.SIGTERM, sigterm_handler)
        signal.signal(signal.SIGUSR1, sigusr_handler)
        signal.signal(signal.SIGUSR2, sigusr_handler)

        nginx.set_up_files(m2ee)
        telegraf.run()
        datadog.run(m2ee.config.get_runtime_version())
        runtime.run(m2ee)
        set_up_instadeploy_if_deploy_password_is_set(m2ee)
        runtime.run_components(m2ee)
        nginx_process = nginx.run()
        loop_until_process_dies(m2ee)
    except Exception:
        ex = traceback.format_exc()
        logging.error("Starting app container failed: %s", ex)
        callback_url = os.environ.get("BUILD_STATUS_CALLBACK_URL")
        if callback_url:
            requests.put(callback_url, ex)
        raise
コード例 #2
0
            runtime.stop(m2ee)
            databroker_processes.stop()
            sys.exit(1)

        def sigchild_handler(_signo, _stack_frame):
            logging.debug("Handling SIGCHILD...")
            os.waitpid(-1, os.WNOHANG)

        signal.signal(signal.SIGCHLD, sigchild_handler)
        signal.signal(signal.SIGTERM, sigterm_handler)
        signal.signal(signal.SIGUSR1, sigusr_handler)
        signal.signal(signal.SIGUSR2, sigusr_handler)

        nginx.configure(m2ee)
        telegraf.run()
        datadog.run()
        metering.run()

        runtime.run(m2ee)

        def reload_callback():
            m2ee.client.request("reload_model")

        def restart_callback():
            global app_is_restarting

            if not m2ee:
                logging.warning("M2EE client not set")
            app_is_restarting = True
            if not runtime.shutdown(m2ee, 10):
                logging.warning("Could not kill runtime with M2EE")