Class: Google::Apis::CloudschedulerV1beta1::Job

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/cloudscheduler_v1beta1/classes.rb,
lib/google/apis/cloudscheduler_v1beta1/representations.rb,
lib/google/apis/cloudscheduler_v1beta1/representations.rb

Overview

Configuration for a job. The maximum allowed size for a job is 1MB.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Job

Returns a new instance of Job.



424
425
426
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 424

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#app_engine_http_targetGoogle::Apis::CloudschedulerV1beta1::AppEngineHttpTarget

App Engine target. The job will be pushed to a job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. Error 503 is considered an App Engine system error instead of an application error. Requests returning error 503 will be retried regardless of retry configuration and not counted against retry counts. Any other response code, or a failure to receive a response before the deadline, constitutes a failed attempt. Corresponds to the JSON property appEngineHttpTarget



292
293
294
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 292

def app_engine_http_target
  @app_engine_http_target
end

#attempt_deadlineString

The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a DEADLINE_EXCEEDED failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. Corresponds to the JSON property attemptDeadline

Returns:

  • (String)


308
309
310
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 308

def attempt_deadline
  @attempt_deadline
end

#descriptionString

Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. Corresponds to the JSON property description

Returns:

  • (String)


314
315
316
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 314

def description
  @description
end

#http_targetGoogle::Apis::CloudschedulerV1beta1::HttpTarget

Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. Corresponds to the JSON property httpTarget



323
324
325
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 323

def http_target
  @http_target
end

#last_attempt_timeString

Output only. The time the last job attempt started. Corresponds to the JSON property lastAttemptTime

Returns:

  • (String)


328
329
330
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 328

def last_attempt_time
  @last_attempt_time
end

#legacy_app_engine_cronBoolean Also known as: legacy_app_engine_cron?

Immutable. This field is used to manage the legacy App Engine Cron jobs using the Cloud Scheduler API. If the field is set to true, the job will be considered a legacy job. Note that App Engine Cron jobs have fewer features than Cloud Scheduler jobs, e.g., are only limited to App Engine targets. Corresponds to the JSON property legacyAppEngineCron

Returns:

  • (Boolean)


336
337
338
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 336

def legacy_app_engine_cron
  @legacy_app_engine_cron
end

#nameString

Optionally caller-specified in CreateJob, after which it becomes output only. The job name. For example: projects/PROJECT_ID/locations/LOCATION_ID/jobs/ JOB_ID. * PROJECT_ID can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see Identifying projects * LOCATION_ID is the canonical ID for the job's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/ about/locations/. * JOB_ID can contain only letters ([A-Za-z]), numbers ([0- 9]), hyphens (-), or underscores (_). The maximum length is 500 characters. Corresponds to the JSON property name

Returns:

  • (String)


351
352
353
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 351

def name
  @name
end

#pubsub_targetGoogle::Apis::CloudschedulerV1beta1::PubsubTarget

Pub/Sub target. The job will be delivered by publishing a message to the given Pub/Sub topic. Corresponds to the JSON property pubsubTarget



357
358
359
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 357

def pubsub_target
  @pubsub_target
end

#retry_configGoogle::Apis::CloudschedulerV1beta1::RetryConfig

Settings that determine the retry behavior. By default, if a job does not complete successfully (meaning that an acknowledgement is not received from the handler, then it will be retried with exponential backoff according to the settings in RetryConfig. Corresponds to the JSON property retryConfig



365
366
367
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 365

def retry_config
  @retry_config
end

#scheduleString

Required, except when used with UpdateJob. Describes the schedule on which the job will be executed. The schedule can be either of the following types: * Crontab * English-like schedule As a general rule, execution n + 1 of a job will not begin until execution n has finished. Cloud Scheduler will never allow two simultaneously outstanding executions. For example, this implies that if the n+1th execution is scheduled to run at 16:00 but the nth execution takes until 16:15, the n+1 th execution will not start until 16:15. A scheduled start time will be delayed if the previous execution has not ended when its scheduled time occurs. If retry_count > 0 and a job attempt fails, the job will be tried a total of retry_count times, with exponential backoff, until the next scheduled start time. If retry_count is 0, a job attempt will not be retried if it fails. Instead the Cloud Scheduler system will wait for the next scheduled execution time. Setting retry_count to 0 does not prevent failed jobs from running according to schedule after the failure. Corresponds to the JSON property schedule

Returns:

  • (String)


385
386
387
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 385

def schedule
  @schedule
end

#schedule_timeString

Output only. The next time the job is scheduled. Note that this may be a retry of a previously failed attempt or the next execution time according to the schedule. Corresponds to the JSON property scheduleTime

Returns:

  • (String)


392
393
394
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 392

def schedule_time
  @schedule_time
end

#stateString

Output only. State of the job. Corresponds to the JSON property state

Returns:

  • (String)


397
398
399
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 397

def state
  @state
end

#statusGoogle::Apis::CloudschedulerV1beta1::Status

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Corresponds to the JSON property status



407
408
409
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 407

def status
  @status
end

#time_zoneString

Specifies the time zone to be used in interpreting schedule. The value of this field must be a time zone name from the tz database. Note that some time zones include a provision for daylight savings time. The rules for daylight saving time are determined by the chosen tz. For UTC use the string "utc". If a time zone is not specified, the default will be in UTC (also known as GMT). Corresponds to the JSON property timeZone

Returns:

  • (String)


417
418
419
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 417

def time_zone
  @time_zone
end

#user_update_timeString

Output only. The creation time of the job. Corresponds to the JSON property userUpdateTime

Returns:

  • (String)


422
423
424
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 422

def user_update_time
  @user_update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
# File 'lib/google/apis/cloudscheduler_v1beta1/classes.rb', line 429

def update!(**args)
  @app_engine_http_target = args[:app_engine_http_target] if args.key?(:app_engine_http_target)
  @attempt_deadline = args[:attempt_deadline] if args.key?(:attempt_deadline)
  @description = args[:description] if args.key?(:description)
  @http_target = args[:http_target] if args.key?(:http_target)
  @last_attempt_time = args[:last_attempt_time] if args.key?(:last_attempt_time)
  @legacy_app_engine_cron = args[:legacy_app_engine_cron] if args.key?(:legacy_app_engine_cron)
  @name = args[:name] if args.key?(:name)
  @pubsub_target = args[:pubsub_target] if args.key?(:pubsub_target)
  @retry_config = args[:retry_config] if args.key?(:retry_config)
  @schedule = args[:schedule] if args.key?(:schedule)
  @schedule_time = args[:schedule_time] if args.key?(:schedule_time)
  @state = args[:state] if args.key?(:state)
  @status = args[:status] if args.key?(:status)
  @time_zone = args[:time_zone] if args.key?(:time_zone)
  @user_update_time = args[:user_update_time] if args.key?(:user_update_time)
end