Sha256: dbe54aa4dba5d34b99b3b8d1856b6c33c6f54398d3eef9f583c8a5987ae1712f

Contents?: true

Size: 1.37 KB

Versions: 2

Compression:

Stored size: 1.37 KB

Contents

require 'active_support/core_ext/integer/time'

module Dag
  class Client
    module Job

      def jobs
        Dag::JobCollection.new(@api)
      end

      def job(job_id)
        job_info = @api.query_info(job_id)
        Dag::Job.new(@api, job_info)
      end

      def job_log(job_id)

        job = job(job_id)
        job.validate_log_condition
        log_info = @api.query_log(job_id)
        log_info ? log_info['log'] : ''
      end

      def job_cancel(job_id)

        job = job(job_id)
        job.validate_cancel_condition
        @api.query_cancel(job_id)
      end

      #
      # == parameters ==
      # * <tt>query</tt> - query
      # * <tt>output_format</tt> - 'csv' or 'tsv'
      # * <tt>output_resource_path</tt> - "${bucketname}/${output_object}"
      # * <tt>label</tt> - label
      def query(query: '', output_format: 'csv', output_resource_path: '', label: '')
        validate_cluster

        select_info = @api.query(query: query,
                                 output_format: output_format,
                                 output_resource_path: output_resource_path,
                                 cluster_name: @cluster_name,
                                 label: label)
        job_id = select_info['queryId']

        job(job_id)
      end

      def job_download_urls(job_id)
        job = job(job_id)
        job.download_urls
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
iij-dag-client-1.0.2 lib/dag/client/job.rb
iij-dag-client-1.0.1 lib/dag/client/job.rb