예제 #1
0
def main():
    os.umask(DEFAULT_UMASK)
    # Need to call setup_console_logging like this as this module is always called from another.
    setup_console_logging("__main__")
    with tempfile.NamedTemporaryFile(delete=True) as submission_tmp_file:
        from firexapp.submit.submit import SubmitBaseApp
        submit_app = SubmitBaseApp(
            submission_tmp_file=submission_tmp_file.name)
        app = FireXBaseApp(submit_app=submit_app)
        ExitSignalHandler(app)
        app.run()
예제 #2
0
import os
from psutil import Process, TimeoutExpired
import subprocess

from firexapp.submit.tracking_service import TrackingService
from firexapp.common import qualify_firex_bin
from firexapp.submit.console import setup_console_logging

from firex_keeper.keeper_helper import get_keeper_dir
from firexapp.discovery import PkgVersionInfo

logger = setup_console_logging(__name__)


class FireXKeeperLauncher(TrackingService):
    def __init__(self):
        self.broker_recv_ready_file = None

    def start(self, args, uid=None, **kwargs) -> {}:
        keeper_debug_dir = get_keeper_dir(uid.logs_dir)
        os.makedirs(keeper_debug_dir, exist_ok=True)
        self.broker_recv_ready_file = os.path.join(
            keeper_debug_dir, 'keeper_celery_recvr_ready')
        stdout_file = os.path.join(keeper_debug_dir, 'keeper.stdout.txt')

        cmd = [
            qualify_firex_bin("firex_keeper"),
            "--uid",
            str(uid),
            "--logs_dir",
            uid.logs_dir,