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.