Exemplo n.º 1
0
 def test_run_tree_info(self):
     config_file_path = os.path.join(os.path.dirname(__name__),
                                     'test_config.ini')
     luigi.configuration.LuigiConfigParser.add_config_path(config_file_path)
     os.environ.setdefault('test_param', 'test')
     tree = gokart.run()
     self.assertTrue(gokart.make_tree_info(_DummyTask(param='test')), tree)
Exemplo n.º 2
0
 def test_run_tree_info(self):
     config_file_path = os.path.join(os.path.dirname(__name__), 'config', 'test_config.ini')
     luigi.configuration.LuigiConfigParser.add_config_path(config_file_path)
     os.environ.setdefault('test_param', 'test')
     tree_info = gokart.tree_info(mode='simple', output_path='tree.txt')
     with self.assertRaises(SystemExit):
         gokart.run()
     self.assertTrue(gokart.make_tree_info(_DummyTask(param='test')), tree_info.output().load())
Exemplo n.º 3
0
def run(set_retcode=True):
    if set_retcode:
        luigi.retcodes.retcode.already_running = 10
        luigi.retcodes.retcode.missing_data = 20
        luigi.retcodes.retcode.not_run = 30
        luigi.retcodes.retcode.task_failed = 40
        luigi.retcodes.retcode.scheduling_error = 50

    _read_environ()
    _check_config()

    cmdline_args = sys.argv[1:]

    if cmdline_args[0] == '--tree-info':
        with CmdlineParser.global_instance(cmdline_args[1:]) as cp:
            return gokart.make_tree_info(cp.get_task_obj(), details=False)

    if cmdline_args[0] == '--tree-info-all':
        with CmdlineParser.global_instance(cmdline_args[1:]) as cp:
            return gokart.make_tree_info(cp.get_task_obj(), details=True)

    luigi.cmdline.luigi_run(cmdline_args)
Exemplo n.º 4
0
def _try_to_send_event_summary_to_slack(slack_api: Optional[gokart.slack.SlackAPI],
                                        event_aggregator: gokart.slack.EventAggregator, cmdline_args: List[str]):
    if slack_api is None:
        # do nothing
        return
    with CmdlineParser.global_instance(cmdline_args) as cp:
        task = cp.get_task_obj()
        tree_info = gokart.make_tree_info(task, details=True)
        task_name = type(task).__name__

    comment = f'Report of {task_name}' + os.linesep + event_aggregator.get_summary()
    content = os.linesep.join([
        '===== Event List ====',
        event_aggregator.get_event_list(),
        os.linesep,
        '==== Tree Info ====',
        tree_info,
    ])
    slack_api.send_snippet(comment=comment, title='event.txt', content=content)
Exemplo n.º 5
0
def _run_tree_info(cmdline_args, details):
    with CmdlineParser.global_instance(cmdline_args) as cp:
        gokart.tree_info().output().dump(
            gokart.make_tree_info(cp.get_task_obj(), details=details))