class KubeQueue::JobSpecification

Attributes

active_deadline_seconds[RW]
backoff_limit[RW]
command[W]
concurrent_policy[W]
container_name[W]
cpu_limit[RW]
cpu_request[RW]
env[W]
env_from_config_map[W]
env_from_secret[W]
image[W]
job_class[R]
job_labels[W]
memory_limit[RW]
memory_request[RW]
name[RW]
namespace[W]
payload[RW]
pod_labels[W]
restart_policy[W]
starting_deadline_seconds[RW]
worker_name[W]

Public Class Methods

new(job_class) click to toggle source
# File lib/kube_queue/job_specification.rb, line 17
def initialize(job_class)
  @job_class = job_class
end

Public Instance Methods

command() click to toggle source
# File lib/kube_queue/job_specification.rb, line 41
def command
  @command || ['bundle', 'exec', 'kube_queue', 'runner', job_class.name]
end
concurrent_policy() click to toggle source
# File lib/kube_queue/job_specification.rb, line 73
def concurrent_policy
  @concurrent_policy || 'Allow'
end
container_name() click to toggle source
# File lib/kube_queue/job_specification.rb, line 37
def container_name
  @container_name || worker_name
end
env() click to toggle source
# File lib/kube_queue/job_specification.rb, line 57
def env
  KubeQueue.default_env.merge(@env || {})
end
env_from_config_map() click to toggle source
# File lib/kube_queue/job_specification.rb, line 61
def env_from_config_map
  @env_from_config_map || []
end
env_from_exists?() click to toggle source
# File lib/kube_queue/job_specification.rb, line 69
def env_from_exists?
  !env_from_config_map.empty? && !env_from_secret.empty?
end
env_from_secret() click to toggle source
# File lib/kube_queue/job_specification.rb, line 65
def env_from_secret
  @env_from_config_map || []
end
image() click to toggle source
# File lib/kube_queue/job_specification.rb, line 25
def image
  @image || raise_not_found_required_parameter('image')
end
job_labels() click to toggle source
# File lib/kube_queue/job_specification.rb, line 49
def job_labels
  @job_labels || {}
end
job_name(job_id) click to toggle source
# File lib/kube_queue/job_specification.rb, line 21
def job_name(job_id)
  "#{worker_name}-#{job_id}"
end
namespace() click to toggle source
# File lib/kube_queue/job_specification.rb, line 29
def namespace
  @namespace || 'default'
end
pod_labels() click to toggle source
# File lib/kube_queue/job_specification.rb, line 53
def pod_labels
  @pod_labels || {}
end
raise_not_found_required_parameter(field) click to toggle source
# File lib/kube_queue/job_specification.rb, line 81
def raise_not_found_required_parameter(field)
  raise MissingParameterError, "#{field} is required"
end
resources_exists?() click to toggle source
# File lib/kube_queue/job_specification.rb, line 77
def resources_exists?
  @cpu_limit || @memory_limit || @cpu_request || @memory_request
end
restart_policy() click to toggle source
# File lib/kube_queue/job_specification.rb, line 45
def restart_policy
  @restart_policy || 'Never'
end
worker_name() click to toggle source
# File lib/kube_queue/job_specification.rb, line 33
def worker_name
  @worker_name || raise_not_found_required_parameter('worker_name')
end