41 lines
683 B
Protocol Buffer
41 lines
683 B
Protocol Buffer
syntax = "proto3";
|
|
|
|
package queues;
|
|
|
|
import "google/protobuf/struct.proto";
|
|
|
|
service Tasks {
|
|
rpc Put (PutRequest) returns (EmptyResponse) {}
|
|
|
|
rpc Take (TakeRequest) returns (TakeResponse) {}
|
|
|
|
rpc Finish (FinishRequest) returns (EmptyResponse) {}
|
|
}
|
|
|
|
message Task {
|
|
string id = 1;
|
|
int64 attempt = 2;
|
|
google.protobuf.Struct payload = 3;
|
|
}
|
|
|
|
message PutRequest {
|
|
string queue = 1;
|
|
int64 seconds_to_execute = 2;
|
|
optional int64 delay = 3;
|
|
google.protobuf.Struct payload = 4;
|
|
}
|
|
|
|
message TakeRequest {
|
|
string queue = 1;
|
|
}
|
|
|
|
message FinishRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message EmptyResponse {}
|
|
|
|
message TakeResponse {
|
|
optional Task task = 1;
|
|
}
|