Class: Smplkit::Jobs::JobEnvironment
- Inherits:
-
Struct
- Object
- Struct
- Smplkit::Jobs::JobEnvironment
- Defined in:
- lib/smplkit/jobs/models.rb
Overview
Per-environment enablement, schedule, and configuration override for a job.
A job runs in a given environment only when that environment has an entry in Smplkit::Jobs::Job#environments with enabled: true (scheduled there for a recurring job, triggerable there for a manual one); an environment with no entry (or enabled: false) is disabled there.
Instance Attribute Summary collapse
-
#configuration ⇒ HttpConfig?
Optional per-environment request configuration that fully replaces the job’s base Smplkit::Jobs::Job#configuration for this environment.
-
#enabled ⇒ Boolean
Whether the job is enabled in this environment.
-
#next_run_at ⇒ String?
Read-only.
-
#retry_policy ⇒ String?
Optional per-environment retry-policy override — the id of a RetryPolicy (or “Default”).
-
#schedule ⇒ String?
Optional per-environment cron schedule override that varies the cadence in this environment.
-
#timezone ⇒ String?
Optional per-environment IANA timezone override for evaluating this environment’s cron #schedule (recurring jobs only).
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(enabled: false, schedule: nil, timezone: nil, retry_policy: nil, configuration: nil, next_run_at: nil) ⇒ JobEnvironment
constructor
A new instance of JobEnvironment.
Constructor Details
#initialize(enabled: false, schedule: nil, timezone: nil, retry_policy: nil, configuration: nil, next_run_at: nil) ⇒ JobEnvironment
Returns a new instance of JobEnvironment.
335 336 337 338 |
# File 'lib/smplkit/jobs/models.rb', line 335 def initialize(enabled: false, schedule: nil, timezone: nil, retry_policy: nil, configuration: nil, next_run_at: nil) super end |
Instance Attribute Details
#configuration ⇒ HttpConfig?
Returns Optional per-environment request configuration that fully replaces the job’s base Smplkit::Jobs::Job#configuration for this environment. nil (the default) inherits the base configuration. As with the base configuration, header values are returned in plaintext on reads, so a get-mutate-put round-trip preserves them.
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 |
# File 'lib/smplkit/jobs/models.rb', line 332 JobEnvironment = Struct.new( :enabled, :schedule, :timezone, :retry_policy, :configuration, :next_run_at, keyword_init: true ) do def initialize(enabled: false, schedule: nil, timezone: nil, retry_policy: nil, configuration: nil, next_run_at: nil) super end # @api private — Build a {JobEnvironment} from the generated wire model. # # @param src [SmplkitGeneratedClient::Jobs::JobEnvironment, nil] The wire # model, or +nil+ for a disabled environment with no override. # @return [JobEnvironment] def self.from_wire(src) return new if src.nil? cfg = src.configuration new( enabled: src.enabled.nil? ? false : src.enabled, schedule: src.schedule, timezone: src.timezone, retry_policy: src.retry_policy, configuration: cfg.nil? ? nil : HttpConfig.from_wire(cfg), next_run_at: src.next_run_at ) end end |
#enabled ⇒ Boolean
Returns Whether the job is enabled in this environment. Defaults to false.
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 |
# File 'lib/smplkit/jobs/models.rb', line 332 JobEnvironment = Struct.new( :enabled, :schedule, :timezone, :retry_policy, :configuration, :next_run_at, keyword_init: true ) do def initialize(enabled: false, schedule: nil, timezone: nil, retry_policy: nil, configuration: nil, next_run_at: nil) super end # @api private — Build a {JobEnvironment} from the generated wire model. # # @param src [SmplkitGeneratedClient::Jobs::JobEnvironment, nil] The wire # model, or +nil+ for a disabled environment with no override. # @return [JobEnvironment] def self.from_wire(src) return new if src.nil? cfg = src.configuration new( enabled: src.enabled.nil? ? false : src.enabled, schedule: src.schedule, timezone: src.timezone, retry_policy: src.retry_policy, configuration: cfg.nil? ? nil : HttpConfig.from_wire(cfg), next_run_at: src.next_run_at ) end end |
#next_run_at ⇒ String?
Returns Read-only. The next scheduled fire time in this environment. nil when the environment is not enabled, or once a one-off run has fired. Never written back on save.
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 |
# File 'lib/smplkit/jobs/models.rb', line 332 JobEnvironment = Struct.new( :enabled, :schedule, :timezone, :retry_policy, :configuration, :next_run_at, keyword_init: true ) do def initialize(enabled: false, schedule: nil, timezone: nil, retry_policy: nil, configuration: nil, next_run_at: nil) super end # @api private — Build a {JobEnvironment} from the generated wire model. # # @param src [SmplkitGeneratedClient::Jobs::JobEnvironment, nil] The wire # model, or +nil+ for a disabled environment with no override. # @return [JobEnvironment] def self.from_wire(src) return new if src.nil? cfg = src.configuration new( enabled: src.enabled.nil? ? false : src.enabled, schedule: src.schedule, timezone: src.timezone, retry_policy: src.retry_policy, configuration: cfg.nil? ? nil : HttpConfig.from_wire(cfg), next_run_at: src.next_run_at ) end end |
#retry_policy ⇒ String?
Returns Optional per-environment retry-policy override — the id of a RetryPolicy (or “Default”). nil (the default) inherits the job’s base Smplkit::Jobs::Job#retry_policy. Sent on writes only when present.
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 |
# File 'lib/smplkit/jobs/models.rb', line 332 JobEnvironment = Struct.new( :enabled, :schedule, :timezone, :retry_policy, :configuration, :next_run_at, keyword_init: true ) do def initialize(enabled: false, schedule: nil, timezone: nil, retry_policy: nil, configuration: nil, next_run_at: nil) super end # @api private — Build a {JobEnvironment} from the generated wire model. # # @param src [SmplkitGeneratedClient::Jobs::JobEnvironment, nil] The wire # model, or +nil+ for a disabled environment with no override. # @return [JobEnvironment] def self.from_wire(src) return new if src.nil? cfg = src.configuration new( enabled: src.enabled.nil? ? false : src.enabled, schedule: src.schedule, timezone: src.timezone, retry_policy: src.retry_policy, configuration: cfg.nil? ? nil : HttpConfig.from_wire(cfg), next_run_at: src.next_run_at ) end end |
#schedule ⇒ String?
Returns Optional per-environment cron schedule override that varies the cadence in this environment. nil (the default) inherits the job’s base Smplkit::Jobs::Job#schedule. When present, it must be a 5-field UTC cron expression and is only meaningful on a recurring job —it cannot turn a one-off job recurring or vice-versa.
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 |
# File 'lib/smplkit/jobs/models.rb', line 332 JobEnvironment = Struct.new( :enabled, :schedule, :timezone, :retry_policy, :configuration, :next_run_at, keyword_init: true ) do def initialize(enabled: false, schedule: nil, timezone: nil, retry_policy: nil, configuration: nil, next_run_at: nil) super end # @api private — Build a {JobEnvironment} from the generated wire model. # # @param src [SmplkitGeneratedClient::Jobs::JobEnvironment, nil] The wire # model, or +nil+ for a disabled environment with no override. # @return [JobEnvironment] def self.from_wire(src) return new if src.nil? cfg = src.configuration new( enabled: src.enabled.nil? ? false : src.enabled, schedule: src.schedule, timezone: src.timezone, retry_policy: src.retry_policy, configuration: cfg.nil? ? nil : HttpConfig.from_wire(cfg), next_run_at: src.next_run_at ) end end |
#timezone ⇒ String?
Returns Optional per-environment IANA timezone override for evaluating this environment’s cron #schedule (recurring jobs only). nil (the default) inherits the base Smplkit::Jobs::Job#timezone, else UTC. When present, it must be a valid IANA zone key (e.g. “America/New_York”); it may be set on an environment that inherits the base schedule (it need not also override #schedule). Sent on writes only when present.
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 |
# File 'lib/smplkit/jobs/models.rb', line 332 JobEnvironment = Struct.new( :enabled, :schedule, :timezone, :retry_policy, :configuration, :next_run_at, keyword_init: true ) do def initialize(enabled: false, schedule: nil, timezone: nil, retry_policy: nil, configuration: nil, next_run_at: nil) super end # @api private — Build a {JobEnvironment} from the generated wire model. # # @param src [SmplkitGeneratedClient::Jobs::JobEnvironment, nil] The wire # model, or +nil+ for a disabled environment with no override. # @return [JobEnvironment] def self.from_wire(src) return new if src.nil? cfg = src.configuration new( enabled: src.enabled.nil? ? false : src.enabled, schedule: src.schedule, timezone: src.timezone, retry_policy: src.retry_policy, configuration: cfg.nil? ? nil : HttpConfig.from_wire(cfg), next_run_at: src.next_run_at ) end end |
Class Method Details
.from_wire(src) ⇒ JobEnvironment
345 346 347 348 349 350 351 352 353 354 355 356 357 |
# File 'lib/smplkit/jobs/models.rb', line 345 def self.from_wire(src) return new if src.nil? cfg = src.configuration new( enabled: src.enabled.nil? ? false : src.enabled, schedule: src.schedule, timezone: src.timezone, retry_policy: src.retry_policy, configuration: cfg.nil? ? nil : HttpConfig.from_wire(cfg), next_run_at: src.next_run_at ) end |