def result(self, context: Context) -> Tuple[RunnerStatus, dict]:
        """Check runner result

        NOTE: You could check runner if is timeout in this method. If it's
            timeout, return `RunnerStatus.FAILED`. Since runners executed by
            `ThreadPoolExecutor` may have some common resources, it's better to
            stop the runner by user instead of `composer`.

        Args:
            context: shared in runner. In this method, data can be
               read or written to context via `context.data`.
        """
Check runner result

        NOTE: You could check runner if is timeout in this method. If it's
            timeout, return `RunnerStatus.FAILED`. Since runners executed by
            `ThreadPoolExecutor` may have some common resources, it's better to
            stop the runner by user instead of `composer`.

        Args:
            context: shared in runner. In this method, data can be
               read or written to context via `context.data`.
        
web_console_v2/api/fedlearner_webconsole/composer/interface.py