Cloud Scheduler

gcpWorkergoogle-cloud-scheduler

Managed cron that calls HTTP, Pub/Sub or App Engine targets on a schedule.

Provider
gcp
Kind
Worker
Category
Compute
Properties · 3 set by this component
propertytypevaluesrequiredkind defaultthis component
acceleratorenumnone | gpu | asicnononeinherited
attemptDeadlineMinutes · component propertyinteger—no3inherited
concurrencyinteger—no—inherited
fanoutStrategy · advancedenumnone | push | pull | hybridnononeinherited
fanoutThreshold · advancedinteger—no—inherited
idempotentboolean—nofalseinherited
instancesinteger—no—inherited
managedboolean—nofalse▸ true
maxBackoffSeconds · component propertyinteger—no3600inherited
maxDoublings · component propertyinteger—no5inherited
minBackoffSeconds · component propertyinteger—no5inherited
rateControl · advancedenumnone | fixed | aimdnonone▸ none
retryCount · component propertyinteger—no0inherited
schedulestring—no—inherited
timeZone · component propertystring—noUTCinherited
triggerenumqueue | stream | schedule | batch | manualyes—▸ schedule
Rules that apply · 3

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

push-fanout-without-celebrity-path

Pure push fan-out over a social graph is brutal at the tail: one post from an account with millions of followers becomes millions of cache writes. A follower threshold above which readers merge at read time bounds that write amplification.

  • — all of these hold:
  • — the node's `fanoutStrategy` is "push"
  • — the node's `fanoutThreshold` has no value
  • — the design contains a node of kind graph-database
shared-worker-pool-across-queues

One worker pool consuming several queues lets a slow or poisoned queue starve the others. That is precisely what the design's per-queue isolation requirement forbids.

  • — all of these hold:
  • — the node has more than 1 incoming edge from a queue
  • — the design requirement `isolation.perQueue` is true
stateful-node-without-zone-redundancy

A stateful compute node pinned to exactly one availability zone disappears with that zone, and its state goes with it. Nodes inside a cell are exempt, because there the cell is deliberately single-zone and redundancy comes from the other cells.

  • — all of these hold:
  • — the node's `stateless` is false
  • — the node sits inside exactly 1 availability-zone group
  • — this does not hold:
  • — the node sits inside at least one cell group
Use it in a design
nodes:
  - { id: "cloud-scheduler", component: "google-cloud-scheduler" }
Other Worker products · 82
SchedulerXalibaba-schedulerxalibabacloudworkerAmazon AppFlowaws-appflowawsworkerAWS B2B Data Interchangeaws-b2b-data-interchangeawsworkerAWS Batchaws-batchawsworkerAWS Glue DataBrewaws-databrewawsworkerAWS DataSyncaws-datasyncawsworkerAWS Deadline Cloudaws-deadline-cloudawsworkerAWS Entity Resolutionaws-entity-resolutionawsworkerAmazon EventBridge Scheduleraws-eventbridge-schedulerawsworkerAWS Fault Injection Serviceaws-fisawsworkerAWS Glue crawleraws-glue-crawlerawsworkerAWS Glue for Ray jobaws-glue-ray-jobawsworkerAWS Application Migration Serviceaws-mgnawsworkerAmazon MSK Connectaws-msk-connectawsworkerAmazon SageMaker AI Training Jobaws-sagemaker-training-jobawsworkerAWS Systems Manageraws-systems-managerawsworkerAWS Thinkbox Deadline 10aws-thinkbox-deadlineawsworkerAWS Glue jobglue-jobawsworkerAzure Automationazure-automationazureworkerAzure Batchazure-batchazureworkerAzure Chaos Studioazure-chaos-studioazureworkerAzure Data Factoryazure-data-factoryazureworkerAzure Data Shareazure-data-shareazureworkerAzure Database Migration Serviceazure-database-migration-serviceazureworkerMicrosoft Entra Connect Syncazure-entra-connect-syncazureworkerMicrosoft Graph Data Connectazure-graph-data-connectazureworkerAzure Storage Moverazure-storage-moverazureworkerAzure Update Managerazure-update-managerazureworkerBrowser Runcloudflare-browser-runcloudflareworkerCloudflare Snippetscloudflare-snippetscloudflareworkerCloudflare Zarazcloudflare-zarazcloudflareworkerAirbyteairbyteworkerAirflow DAGairflow-dagworkerChaos Meshchaos-meshworkerChunkrchunkrworkerContainer workercontainer-workerworkerCron jobcron-jobworkerDaytonadaytonaworkerE2Be2bworkerEmbulkembulkworker
and 42 more → Worker page
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Google Cloud Scheduler job: managed cron. Per "Cron job schedules" the default time zone is UTC, and per
# the jobs REST reference an HTTP target has a 3-minute attempt deadline, retryCount defaults to 0 (a failed
# attempt is not retried, it just runs again on schedule) with 5s to 1h backoff and 5 maximum doublings.
schemaVersion: "1"
type: "component"
id: "google-cloud-scheduler"
kind: "worker"
provider: "gcp"
docs: "https://cloud.google.com/scheduler/docs/reference/rest/v1/projects.locations.jobs"
defaults:
  managed: true
  trigger: "schedule"
  rateControl: "none"
properties:
  timeZone:
    type: "string"
    default: "UTC"
  attemptDeadlineMinutes:
    type: "integer"
    default: 3
  retryCount:
    type: "integer"
    default: 0
  minBackoffSeconds:
    type: "integer"
    default: 5
  maxBackoffSeconds:
    type: "integer"
    default: 3600
  maxDoublings:
    type: "integer"
    default: 5

The same page as markdown, for an agent: /catalogue/components/google-cloud-scheduler.md