343 lines
8.2 KiB
Protocol Buffer
343 lines
8.2 KiB
Protocol Buffer
|
syntax = "proto2";
|
||
|
option go_package = "taskqueue";
|
||
|
|
||
|
import "google.golang.org/appengine/internal/datastore/datastore_v3.proto";
|
||
|
|
||
|
package appengine;
|
||
|
|
||
|
message TaskQueueServiceError {
|
||
|
enum ErrorCode {
|
||
|
OK = 0;
|
||
|
UNKNOWN_QUEUE = 1;
|
||
|
TRANSIENT_ERROR = 2;
|
||
|
INTERNAL_ERROR = 3;
|
||
|
TASK_TOO_LARGE = 4;
|
||
|
INVALID_TASK_NAME = 5;
|
||
|
INVALID_QUEUE_NAME = 6;
|
||
|
INVALID_URL = 7;
|
||
|
INVALID_QUEUE_RATE = 8;
|
||
|
PERMISSION_DENIED = 9;
|
||
|
TASK_ALREADY_EXISTS = 10;
|
||
|
TOMBSTONED_TASK = 11;
|
||
|
INVALID_ETA = 12;
|
||
|
INVALID_REQUEST = 13;
|
||
|
UNKNOWN_TASK = 14;
|
||
|
TOMBSTONED_QUEUE = 15;
|
||
|
DUPLICATE_TASK_NAME = 16;
|
||
|
SKIPPED = 17;
|
||
|
TOO_MANY_TASKS = 18;
|
||
|
INVALID_PAYLOAD = 19;
|
||
|
INVALID_RETRY_PARAMETERS = 20;
|
||
|
INVALID_QUEUE_MODE = 21;
|
||
|
ACL_LOOKUP_ERROR = 22;
|
||
|
TRANSACTIONAL_REQUEST_TOO_LARGE = 23;
|
||
|
INCORRECT_CREATOR_NAME = 24;
|
||
|
TASK_LEASE_EXPIRED = 25;
|
||
|
QUEUE_PAUSED = 26;
|
||
|
INVALID_TAG = 27;
|
||
|
|
||
|
// Reserved range for the Datastore error codes.
|
||
|
// Original Datastore error code is shifted by DATASTORE_ERROR offset.
|
||
|
DATASTORE_ERROR = 10000;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
message TaskPayload {
|
||
|
extensions 10 to max;
|
||
|
option message_set_wire_format = true;
|
||
|
}
|
||
|
|
||
|
message TaskQueueRetryParameters {
|
||
|
optional int32 retry_limit = 1;
|
||
|
optional int64 age_limit_sec = 2;
|
||
|
|
||
|
optional double min_backoff_sec = 3 [default = 0.1];
|
||
|
optional double max_backoff_sec = 4 [default = 3600];
|
||
|
optional int32 max_doublings = 5 [default = 16];
|
||
|
}
|
||
|
|
||
|
message TaskQueueAcl {
|
||
|
repeated bytes user_email = 1;
|
||
|
repeated bytes writer_email = 2;
|
||
|
}
|
||
|
|
||
|
message TaskQueueHttpHeader {
|
||
|
required bytes key = 1;
|
||
|
required bytes value = 2;
|
||
|
}
|
||
|
|
||
|
message TaskQueueMode {
|
||
|
enum Mode {
|
||
|
PUSH = 0;
|
||
|
PULL = 1;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
message TaskQueueAddRequest {
|
||
|
required bytes queue_name = 1;
|
||
|
required bytes task_name = 2;
|
||
|
required int64 eta_usec = 3;
|
||
|
|
||
|
enum RequestMethod {
|
||
|
GET = 1;
|
||
|
POST = 2;
|
||
|
HEAD = 3;
|
||
|
PUT = 4;
|
||
|
DELETE = 5;
|
||
|
}
|
||
|
optional RequestMethod method = 5 [default=POST];
|
||
|
|
||
|
optional bytes url = 4;
|
||
|
|
||
|
repeated group Header = 6 {
|
||
|
required bytes key = 7;
|
||
|
required bytes value = 8;
|
||
|
}
|
||
|
|
||
|
optional bytes body = 9 [ctype=CORD];
|
||
|
optional Transaction transaction = 10;
|
||
|
optional bytes app_id = 11;
|
||
|
|
||
|
optional group CronTimetable = 12 {
|
||
|
required bytes schedule = 13;
|
||
|
required bytes timezone = 14;
|
||
|
}
|
||
|
|
||
|
optional bytes description = 15;
|
||
|
optional TaskPayload payload = 16;
|
||
|
optional TaskQueueRetryParameters retry_parameters = 17;
|
||
|
optional TaskQueueMode.Mode mode = 18 [default=PUSH];
|
||
|
optional bytes tag = 19;
|
||
|
}
|
||
|
|
||
|
message TaskQueueAddResponse {
|
||
|
optional bytes chosen_task_name = 1;
|
||
|
}
|
||
|
|
||
|
message TaskQueueBulkAddRequest {
|
||
|
repeated TaskQueueAddRequest add_request = 1;
|
||
|
}
|
||
|
|
||
|
message TaskQueueBulkAddResponse {
|
||
|
repeated group TaskResult = 1 {
|
||
|
required TaskQueueServiceError.ErrorCode result = 2;
|
||
|
optional bytes chosen_task_name = 3;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
message TaskQueueDeleteRequest {
|
||
|
required bytes queue_name = 1;
|
||
|
repeated bytes task_name = 2;
|
||
|
optional bytes app_id = 3;
|
||
|
}
|
||
|
|
||
|
message TaskQueueDeleteResponse {
|
||
|
repeated TaskQueueServiceError.ErrorCode result = 3;
|
||
|
}
|
||
|
|
||
|
message TaskQueueForceRunRequest {
|
||
|
optional bytes app_id = 1;
|
||
|
required bytes queue_name = 2;
|
||
|
required bytes task_name = 3;
|
||
|
}
|
||
|
|
||
|
message TaskQueueForceRunResponse {
|
||
|
required TaskQueueServiceError.ErrorCode result = 3;
|
||
|
}
|
||
|
|
||
|
message TaskQueueUpdateQueueRequest {
|
||
|
optional bytes app_id = 1;
|
||
|
required bytes queue_name = 2;
|
||
|
required double bucket_refill_per_second = 3;
|
||
|
required int32 bucket_capacity = 4;
|
||
|
optional string user_specified_rate = 5;
|
||
|
optional TaskQueueRetryParameters retry_parameters = 6;
|
||
|
optional int32 max_concurrent_requests = 7;
|
||
|
optional TaskQueueMode.Mode mode = 8 [default = PUSH];
|
||
|
optional TaskQueueAcl acl = 9;
|
||
|
repeated TaskQueueHttpHeader header_override = 10;
|
||
|
}
|
||
|
|
||
|
message TaskQueueUpdateQueueResponse {
|
||
|
}
|
||
|
|
||
|
message TaskQueueFetchQueuesRequest {
|
||
|
optional bytes app_id = 1;
|
||
|
required int32 max_rows = 2;
|
||
|
}
|
||
|
|
||
|
message TaskQueueFetchQueuesResponse {
|
||
|
repeated group Queue = 1 {
|
||
|
required bytes queue_name = 2;
|
||
|
required double bucket_refill_per_second = 3;
|
||
|
required double bucket_capacity = 4;
|
||
|
optional string user_specified_rate = 5;
|
||
|
required bool paused = 6 [default=false];
|
||
|
optional TaskQueueRetryParameters retry_parameters = 7;
|
||
|
optional int32 max_concurrent_requests = 8;
|
||
|
optional TaskQueueMode.Mode mode = 9 [default = PUSH];
|
||
|
optional TaskQueueAcl acl = 10;
|
||
|
repeated TaskQueueHttpHeader header_override = 11;
|
||
|
optional string creator_name = 12 [ctype=CORD, default="apphosting"];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
message TaskQueueFetchQueueStatsRequest {
|
||
|
optional bytes app_id = 1;
|
||
|
repeated bytes queue_name = 2;
|
||
|
optional int32 max_num_tasks = 3 [default = 0];
|
||
|
}
|
||
|
|
||
|
message TaskQueueScannerQueueInfo {
|
||
|
required int64 executed_last_minute = 1;
|
||
|
required int64 executed_last_hour = 2;
|
||
|
required double sampling_duration_seconds = 3;
|
||
|
optional int32 requests_in_flight = 4;
|
||
|
optional double enforced_rate = 5;
|
||
|
}
|
||
|
|
||
|
message TaskQueueFetchQueueStatsResponse {
|
||
|
repeated group QueueStats = 1 {
|
||
|
required int32 num_tasks = 2;
|
||
|
required int64 oldest_eta_usec = 3;
|
||
|
optional TaskQueueScannerQueueInfo scanner_info = 4;
|
||
|
}
|
||
|
}
|
||
|
message TaskQueuePauseQueueRequest {
|
||
|
required bytes app_id = 1;
|
||
|
required bytes queue_name = 2;
|
||
|
required bool pause = 3;
|
||
|
}
|
||
|
|
||
|
message TaskQueuePauseQueueResponse {
|
||
|
}
|
||
|
|
||
|
message TaskQueuePurgeQueueRequest {
|
||
|
optional bytes app_id = 1;
|
||
|
required bytes queue_name = 2;
|
||
|
}
|
||
|
|
||
|
message TaskQueuePurgeQueueResponse {
|
||
|
}
|
||
|
|
||
|
message TaskQueueDeleteQueueRequest {
|
||
|
required bytes app_id = 1;
|
||
|
required bytes queue_name = 2;
|
||
|
}
|
||
|
|
||
|
message TaskQueueDeleteQueueResponse {
|
||
|
}
|
||
|
|
||
|
message TaskQueueDeleteGroupRequest {
|
||
|
required bytes app_id = 1;
|
||
|
}
|
||
|
|
||
|
message TaskQueueDeleteGroupResponse {
|
||
|
}
|
||
|
|
||
|
message TaskQueueQueryTasksRequest {
|
||
|
optional bytes app_id = 1;
|
||
|
required bytes queue_name = 2;
|
||
|
|
||
|
optional bytes start_task_name = 3;
|
||
|
optional int64 start_eta_usec = 4;
|
||
|
optional bytes start_tag = 6;
|
||
|
optional int32 max_rows = 5 [default = 1];
|
||
|
}
|
||
|
|
||
|
message TaskQueueQueryTasksResponse {
|
||
|
repeated group Task = 1 {
|
||
|
required bytes task_name = 2;
|
||
|
required int64 eta_usec = 3;
|
||
|
optional bytes url = 4;
|
||
|
|
||
|
enum RequestMethod {
|
||
|
GET = 1;
|
||
|
POST = 2;
|
||
|
HEAD = 3;
|
||
|
PUT = 4;
|
||
|
DELETE = 5;
|
||
|
}
|
||
|
optional RequestMethod method = 5;
|
||
|
|
||
|
optional int32 retry_count = 6 [default=0];
|
||
|
|
||
|
repeated group Header = 7 {
|
||
|
required bytes key = 8;
|
||
|
required bytes value = 9;
|
||
|
}
|
||
|
|
||
|
optional int32 body_size = 10;
|
||
|
optional bytes body = 11 [ctype=CORD];
|
||
|
required int64 creation_time_usec = 12;
|
||
|
|
||
|
optional group CronTimetable = 13 {
|
||
|
required bytes schedule = 14;
|
||
|
required bytes timezone = 15;
|
||
|
}
|
||
|
|
||
|
optional group RunLog = 16 {
|
||
|
required int64 dispatched_usec = 17;
|
||
|
required int64 lag_usec = 18;
|
||
|
required int64 elapsed_usec = 19;
|
||
|
optional int64 response_code = 20;
|
||
|
optional string retry_reason = 27;
|
||
|
}
|
||
|
|
||
|
optional bytes description = 21;
|
||
|
optional TaskPayload payload = 22;
|
||
|
optional TaskQueueRetryParameters retry_parameters = 23;
|
||
|
optional int64 first_try_usec = 24;
|
||
|
optional bytes tag = 25;
|
||
|
optional int32 execution_count = 26 [default=0];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
message TaskQueueFetchTaskRequest {
|
||
|
optional bytes app_id = 1;
|
||
|
required bytes queue_name = 2;
|
||
|
required bytes task_name = 3;
|
||
|
}
|
||
|
|
||
|
message TaskQueueFetchTaskResponse {
|
||
|
required TaskQueueQueryTasksResponse task = 1;
|
||
|
}
|
||
|
|
||
|
message TaskQueueUpdateStorageLimitRequest {
|
||
|
required bytes app_id = 1;
|
||
|
required int64 limit = 2;
|
||
|
}
|
||
|
|
||
|
message TaskQueueUpdateStorageLimitResponse {
|
||
|
required int64 new_limit = 1;
|
||
|
}
|
||
|
|
||
|
message TaskQueueQueryAndOwnTasksRequest {
|
||
|
required bytes queue_name = 1;
|
||
|
required double lease_seconds = 2;
|
||
|
required int64 max_tasks = 3;
|
||
|
optional bool group_by_tag = 4 [default=false];
|
||
|
optional bytes tag = 5;
|
||
|
}
|
||
|
|
||
|
message TaskQueueQueryAndOwnTasksResponse {
|
||
|
repeated group Task = 1 {
|
||
|
required bytes task_name = 2;
|
||
|
required int64 eta_usec = 3;
|
||
|
optional int32 retry_count = 4 [default=0];
|
||
|
optional bytes body = 5 [ctype=CORD];
|
||
|
optional bytes tag = 6;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
message TaskQueueModifyTaskLeaseRequest {
|
||
|
required bytes queue_name = 1;
|
||
|
required bytes task_name = 2;
|
||
|
required int64 eta_usec = 3;
|
||
|
required double lease_seconds = 4;
|
||
|
}
|
||
|
|
||
|
message TaskQueueModifyTaskLeaseResponse {
|
||
|
required int64 updated_eta_usec = 1;
|
||
|
}
|