def __init__(self): self.run = True set_signals(self.shutdown_listener) self.args, self.config = program_setup(self.PROGRAM_NAME, self.PROGRAM_DESCRIPTION) self.work_load_stat = WorkLoadStatistic(config=self.config, component=self.COMPONENT)
def main(command_line_options=sys.argv): _, config = program_setup(PROGRAM_NAME, PROGRAM_DESCRIPTION, command_line_options=command_line_options) logging.info('Trying to start Mongo Server and initializing users...') mongo_manger = MongoMgr(config=config, auth=False) mongo_manger.init_users() mongo_manger.shutdown() return 0
def test_program_setup(): tmp_dir = TemporaryDirectory(prefix='fact_test_') log_file_path = tmp_dir.name + '/folder/log_file' args, config = program_setup('test', 'test description', command_line_options=['script_name', '--config_file', argument_mock.config_file, '--log_file', log_file_path]) assert args.debug is False assert config['Logging']['logFile'] == log_file_path assert os.path.exists(log_file_path) tmp_dir.cleanup()
def __init__(self): self.run = True # Check whether the process was started by start_fact.py parent = ' '.join(psutil.Process(os.getppid()).cmdline()) started_by_start_fact_py = 'start_fact.py' in parent or 'start_all_installed_fact_components' in parent if started_by_start_fact_py: signal.signal(signal.SIGUSR1, self.shutdown_listener) signal.signal(signal.SIGINT, lambda *_: None) os.setpgid(os.getpid(), os.getpid()) # reset pgid to self so that "complete_shutdown" doesn't run amok else: signal.signal(signal.SIGINT, self.shutdown_listener) self.args, self.config = program_setup(self.PROGRAM_NAME, self.PROGRAM_DESCRIPTION, self.COMPONENT) self.work_load_stat = WorkLoadStatistic(config=self.config, component=self.COMPONENT)
def main(command_line_options=sys.argv): _, config = program_setup(PROGRAM_NAME, PROGRAM_DESCRIPTION, command_line_options=command_line_options) logging.info('Trying to start Mongo Server and initializing users...') mongo_manger = MongoMgr(config=config, auth=False) db_service_frontend_editing = FrontendEditingDbInterface(config) convert_comments_to_new_format(db_service_frontend_editing) convert_release_dates_to_date_object_format(db_service_frontend_editing) add_parent_firmware_list_to_file_object(db_service_frontend_editing) mongo_manger.shutdown() return 0
def main(command_line_options=sys.argv): args, config = program_setup(PROGRAM_NAME, PROGRAM_DESCRIPTION, command_line_options=command_line_options) logging.info('Try to start Mongo Server...') mongo_server = MongoMgr(config=config) updater = StatisticUpdater(config=config) updater.update_all_stats() updater.shutdown() if args.testing: logging.info('Stopping Mongo Server...') mongo_server.shutdown() return 0
def main(command_line_options=None): command_line_options = sys.argv if command_line_options is None else command_line_options args, config = program_setup(PROGRAM_NAME, PROGRAM_DESCRIPTION, command_line_options=command_line_options) logging.info('Try to start Mongo Server...') mongo_server = MongoMgr(config=config) logging.info('updating data... this may take several hours depending on the size of your database') start_time = time() return_code = _create_variety_data(config) process_time = time() - start_time logging.info('generation time: {}'.format(time_format(process_time))) if args.testing: logging.info('Stopping Mongo Server...') mongo_server.shutdown() return return_code
def shutdown(signum, _): global run logging.info('received {signum}. shutting down {name}...'.format(signum=signum, name=PROGRAM_NAME)) run = False if __name__ == '__main__': if was_started_by_start_fact(): signal.signal(signal.SIGUSR1, shutdown) signal.signal(signal.SIGINT, lambda *_: None) os.setpgid(os.getpid(), os.getpid()) # reset pgid to self so that "complete_shutdown" doesn't run amok else: signal.signal(signal.SIGINT, shutdown) args, config = program_setup(PROGRAM_NAME, PROGRAM_DESCRIPTION) analysis_service = AnalysisScheduler(config=config) tagging_service = TaggingDaemon(analysis_scheduler=analysis_service) unpacking_service = UnpackingScheduler(config=config, post_unpack=analysis_service.start_analysis_of_object, analysis_workload=analysis_service.get_scheduled_workload) compare_service = CompareScheduler(config=config) intercom = InterComBackEndBinding(config=config, analysis_service=analysis_service, compare_service=compare_service, unpacking_service=unpacking_service) work_load_stat = WorkLoadStatistic(config=config) run = True while run: work_load_stat.update(unpacking_workload=unpacking_service.get_scheduled_workload(), analysis_workload=analysis_service.get_scheduled_workload()) if any((unpacking_service.check_exceptions(), compare_service.check_exceptions(), analysis_service.check_exceptions())): break sleep(5) if args.testing: break
def __init__(self): _, config = program_setup(self.PROGRAM_NAME, self.PROGRAM_DESCRIPTION, self.COMPONENT) self.mongo_server = MongoMgr(config=config) super().__init__()
execute_shell_command('{} -f {}/install/radare/docker-compose.yml up -d'.format(COMPOSE_VENV / 'bin' / 'docker-compose', get_src_dir())) def stop_docker(): execute_shell_command('{} -f {}/install/radare/docker-compose.yml down'.format(COMPOSE_VENV / 'bin' / 'docker-compose', get_src_dir())) if __name__ == '__main__': if was_started_by_start_fact(): signal.signal(signal.SIGUSR1, shutdown) signal.signal(signal.SIGINT, lambda *_: None) else: signal.signal(signal.SIGINT, shutdown) run = True # pylint: disable=invalid-name ARGS, CONFIG = program_setup(PROGRAM_NAME, PROGRAM_DESCRIPTION) start_docker() work_load_stat = WorkLoadStatistic(config=CONFIG, component='frontend') with tempfile.NamedTemporaryFile() as fp: fp.write(pickle.dumps(ARGS)) fp.flush() uwsgi_process = start_uwsgi_server(fp.name) while run: work_load_stat.update() sleep(5) if ARGS.testing: break