-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtemporal.proto
More file actions
99 lines (87 loc) · 3.19 KB
/
Copy pathtemporal.proto
File metadata and controls
99 lines (87 loc) · 3.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
syntax = "proto3";
package temporal.v1;
import "google/protobuf/descriptor.proto";
option go_package = "github.com/thomas-maurice/protoc-gen-go-tmprl/gen/temporal/v1";
extend google.protobuf.MethodOptions {
optional ActivityOptions activity = 50000;
optional WorkflowOptions workflow = 50001;
optional SignalOptions signal = 50002;
optional QueryOptions query = 50003;
optional UpdateOptions update = 50004;
}
extend google.protobuf.ServiceOptions {
optional ServiceOptions service = 50002;
}
message ActivityOptions {
string name = 1;
// Timeout from schedule to close - in seconds
optional int32 schedule_to_close_timeout = 2;
// Timeout from start to close - in seconds
optional int32 start_to_close_timeout = 3;
// Timeout from schedule to - in seconds
optional int32 schedule_to_start_timeout = 4;
// Default retry policy
optional RetryPolicy retry_policy = 5;
// Heartbeat activity timeout
optional int32 heartbeat_timeout = 6;
}
message WorkflowOptions {
string name = 1;
// Execution timeout for the workflow - in seconds
optional int32 workflow_execution_timeout = 2;
// The timeout for duration of a single workflow run - in seconds
optional int32 workflow_run_timeout = 3;
// The timeout for processing workflow task from the time the worker
// pulled this task
optional int32 workflow_task_timeout = 4;
// Default retry policy
optional RetryPolicy retry_policy = 5;
// Signals is a list of signals that the
// workflow can accept. They MUST be defined in
// the same service. The values of the list is
// simply the name of the corresonding RPC method
repeated string signals = 6;
// Queries is a list of queries that the
// workflow can process. They MUST be defined in
// the same service. The values of the list is
// simply the name of the corresponding RPC method
repeated string queries = 7;
// Updates is a list of updates that the
// workflow can process. They MUST be defined in
// the same service. The values of the list is
// simply the name of the corresponding RPC method
repeated string updates = 8;
}
message ServiceOptions {
string task_queue = 1;
// These will apply to all workflows unless defined otherwise
// appart from the `name` one that is ignored here
WorkflowOptions default_workflow_options = 2;
// These settings will apply to all activities unless defined otherwise
// appart from the `name` one that is ignored here
ActivityOptions default_activity_options = 3;
}
message RetryPolicy {
// Initial interval in seconds for the first retry
optional int32 initial_interval = 1;
// Backoff coefficient for exponential backoff
optional float backoff_coefficient = 2;
// Max inteval between two retries
optional int32 maximum_interval = 3;
// Maximum of attempts
optional int32 maximum_attempts = 4;
// Non retryable error types
repeated string non_retryable_error_types = 5;
}
message SignalOptions {
// Name is the name of the signal, better left auto generated
string name = 1;
}
message QueryOptions {
// Name is the name of the query, better left auto generated
string name = 1;
}
message UpdateOptions {
// Name is the name of the update, better left auto generated
string name = 1;
}