Skip to content

resonatehq/resonate-faas-gcp-ts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@resonatehq/gcp

@resonatehq/gcp is the official binding to deploy Distributed Async Await, Resonate's durable execution framework, to Google Cloud Functions. Run long-running, stateful applications on short-lived, stateless infrastructure.

Examples:

Architecture

When the Durable Function awaits a pending Durable Promise (for example on yield* context.rpc() or context.sleep), the Google Function terminates. When the Durable Promise completes, the Resonate Server resumes the Durable Function by invoking the Google Function again.

function* factorial(context: Context, n: number): Generator {
  if (n <= 0)  { 
    return 1;
  }
  else {
    return n * (yield* context.rpc(factorial, n - 1));
  }
}

Illustration of executing factorial(2) on Google Cloud Functions:

Resonate on Serverless

Quick Start

npm install @resonatehq/gcp

Quick Start

npm install @resonatehq/aws

See Google Cloud Functions documentation to learn how to develop and deploy Google Cloud Functions and see Resonate's Google Cloud Functions for a step by step tutorial: