| 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; |
| } |