Beispiel #1
0
    def get_experiment_logs():
        if past:
            try:
                response = PolyaxonClient().experiment.logs(
                    user, project_name, _experiment, stream=False)
                get_logs_handler(handle_job_info=True,
                                 show_timestamp=not hide_time,
                                 stream=False)(response.content.decode().split('\n'))
                print()

                if not follow:
                    return
            except (PolyaxonHTTPError, PolyaxonShouldExitError, PolyaxonClientException) as e:
                if not follow:
                    Printer.print_error(
                        'Could not get logs for experiment `{}`.'.format(_experiment))
                    Printer.print_error(
                        'Error message `{}`.'.format(e))
                    sys.exit(1)

        try:
            PolyaxonClient().experiment.logs(
                user,
                project_name,
                _experiment,
                message_handler=get_logs_handler(handle_job_info=True,
                                                 show_timestamp=not hide_time))
        except (PolyaxonHTTPError, PolyaxonShouldExitError, PolyaxonClientException) as e:
            Printer.print_error('Could not get logs for experiment `{}`.'.format(_experiment))
            Printer.print_error('Error message `{}`.'.format(e))
            sys.exit(1)
Beispiel #2
0
def logs(ctx, past, follow, hide_time):
    """Get build logs.

    Uses [Caching](/references/polyaxon-cli/#caching)

    Examples:

    \b
    ```bash
    $ polyaxon build -b 2 logs
    ```

    \b
    ```bash
    $ polyaxon build logs
    ```
    """
    user, project_name, _build = get_build_or_local(ctx.obj.get('project'),
                                                    ctx.obj.get('build'))

    if past:
        try:
            response = PolyaxonClient().build_job.logs(user,
                                                       project_name,
                                                       _build,
                                                       stream=False)
            get_logs_handler(handle_job_info=False,
                             show_timestamp=not hide_time,
                             stream=False)(
                                 response.content.decode().split('\n'))
            print()

            if not follow:
                return
        except (PolyaxonHTTPError, PolyaxonShouldExitError,
                PolyaxonClientException) as e:
            if not follow:
                Printer.print_error(
                    'Could not get logs for job `{}`.'.format(_build))
                Printer.print_error('Error message `{}`.'.format(e))
                sys.exit(1)

    try:
        PolyaxonClient().build_job.logs(user,
                                        project_name,
                                        _build,
                                        message_handler=get_logs_handler(
                                            handle_job_info=False,
                                            show_timestamp=not hide_time))
    except (PolyaxonHTTPError, PolyaxonShouldExitError,
            PolyaxonClientException) as e:
        Printer.print_error(
            'Could not get logs for build job `{}`.'.format(_build))
        Printer.print_error('Error message `{}`.'.format(e))
        sys.exit(1)
Beispiel #3
0
 def get_experiment_job_logs():
     try:
         PolyaxonClient().experiment_job.logs(
             user,
             project_name,
             _experiment,
             _job,
             message_handler=get_logs_handler(handle_job_info=True,
                                              show_timestamp=not hide_time))
     except (PolyaxonHTTPError, PolyaxonShouldExitError,
             PolyaxonClientException) as e:
         Printer.print_error(
             'Could not get logs for job `{}`.'.format(_job))
         Printer.print_error('Error message `{}`.'.format(e))
         sys.exit(1)