这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

proto定义

DurableTask proto定义

1 - orchestrator service proto定义

orchestrator service 的 proto 定义

背景

internal/protos/orchestrator_service.pb.go

proto文件的地址是:

  • submodules/durabletask-protobuf/protos/orchestrator_service.proto

生成的文件是:

  • internal/protos/orchestrator_service_grpc.pb.go
  • internal/protos/orchestrator_service.pb.go

定义

proto 定义的 service 名为 TaskHubSidecarService:

service TaskHubSidecarService {
......
}

Hello 方法

    // Sends a hello request to the sidecar service.
    rpc Hello(google.protobuf.Empty) returns (google.protobuf.Empty);

StartInstance 方法

    // Starts a new orchestration instance.
    rpc StartInstance(CreateInstanceRequest) returns (CreateInstanceResponse);
}

CreateInstanceRequest 字段

```protobuf
    message CreateInstanceRequest {
    string instanceId = 1;
    string name = 2;
    google.protobuf.StringValue version = 3;
    google.protobuf.StringValue input = 4;
    google.protobuf.Timestamp scheduledStartTimestamp = 5;
    OrchestrationIdReusePolicy orchestrationIdReusePolicy = 6;
}

TBD
- version: 这个 version 是做什么的?和版本控制有什么关系?
- input: 为什么是 string 类型?

CreateInstanceResponse 只有一个 instanceId id 字段:

```protobuf
message CreateInstanceResponse {
    string instanceId = 1;
}

GetInstance 方法

    // Gets the status of an existing orchestration instance.
    rpc GetInstance(GetInstanceRequest) returns (GetInstanceResponse);
message GetInstanceRequest {
    string instanceId = 1;
    bool getInputsAndOutputs = 2;
}

message GetInstanceResponse {
    bool exists = 1;
    OrchestrationState orchestrationState = 2;
}

message OrchestrationState {
    string instanceId = 1;
    string name = 2;
    google.protobuf.StringValue version = 3;
    OrchestrationStatus orchestrationStatus = 4;
    google.protobuf.Timestamp scheduledStartTimestamp = 5;
    google.protobuf.Timestamp createdTimestamp = 6;
    google.protobuf.Timestamp lastUpdatedTimestamp = 7;
    google.protobuf.StringValue input = 8;
    google.protobuf.StringValue output = 9;
    google.protobuf.StringValue customStatus = 10;
    TaskFailureDetails failureDetails = 11;
}

CreateTaskHub 方法

    // Deletes and Creates the necessary resources for the orchestration service and the instance store
    rpc CreateTaskHub(CreateTaskHubRequest) returns (CreateTaskHubResponse);
message CreateTaskHubRequest {
    bool recreateIfExists = 1;
}

message CreateTaskHubResponse {
    //no playload
}