protoc-gen-temporal

command module
v0.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 4, 2022 License: MIT Imports: 1 Imported by: 0

README

protoc-gen-temporal

Typesafe temporal workflows
Explore the docs »

Report a Bug · Request a Feature · Ask a Question

About

A protobuf plugin to automatically scaffold a temporal worker with sane defaults. On top of that this plugin can generate typesafe clients for consumers to call your workflow.

Getting Started

Prerequisites

You need to install protobuf to compile your protobuf. The easiest option to work with this plugin is to use buf.

Usage

Starts by defining the following RPC service:

syntax = "proto3";

message DoSomethingRequest {
   hello string = 0;
}

service MyWorkflow {
  option (temporal.worker_defaults).task_queue = "my_workflow";
  
  // DoSomething is a workflow that does something
  rpc DoSomething(DoSomethingRequest) returns (google.protobuf.Empty) {
    option (temporal.workflow).queries = {
      name: "something_info",
      response_type: "SomethingInfoResponse"
    }
    
    option (temporal.workflow).signals = {
      name: "cancel_something",
      request_type: "CancelSomethingRequest"
    }
  }
}

It will generate a typesafe client SDK and well as interface that needs to be implemented on worker side.

Support

Reach out to the maintainer at one of the following places:

Contributing

First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.

Please read our contribution guidelines, and thank you for being involved!

Authors & contributors

The original setup of this repository is by Lucas Clerisse.

For a full list of all authors and contributors, see the contributors page.

Security

protoc-gen-temporal follows good practices of security, but 100% security cannot be assured. protoc-gen-temporal is provided "as is" without any warranty. Use at your own risk.

For more information and to report security issues, please refer to our security documentation.

License

This project is licensed under the MIT license.

See LICENSE for more information.

Acknowledgements

  • Datadog: For inspiring this project.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL