Skip to content

Commit

Permalink
search scheduled wfruns
Browse files Browse the repository at this point in the history
  • Loading branch information
eduwercamacaro committed Aug 6, 2024
1 parent 7fd41a9 commit 8518dd1
Show file tree
Hide file tree
Showing 23 changed files with 3,284 additions and 975 deletions.
34 changes: 34 additions & 0 deletions docs/docs/08-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,12 @@ languages [here](/docs/developer-guide/grpc), but we put this here for the true
| ------------ | ------------- | ------------|
| [ScheduleWfRequest](#schedulewfrequest) | [ScheduledWfRun](#scheduledwfrun) | |

### RPC `SearchScheduledWf` {#searchscheduledwf}

| Request Type | Response Type | Description |
| ------------ | ------------- | ------------|
| [SearchScheduledWfRunsRequest](#searchscheduledwfrunsrequest) | [ScheduledWfRunIdList](#scheduledwfrunidlist) | |

### RPC `GetWfRun` {#getwfrun}

| Request Type | Response Type | Description |
Expand Down Expand Up @@ -1996,6 +2002,19 @@ This is used and handled internally by the Task Worker SDK.



### Message `ScheduledWfRunIdList` {#scheduledwfrunidlist}




| Field | Label | Type | Description |
| ----- | ---- | ---- | ----------- |
| `results` | repeated| [ScheduledWfRunId](#scheduledwfrunid) | |
<!-- end Fields -->
<!-- end HasFields -->



### Message `SearchExternalEventDefRequest` {#searchexternaleventdefrequest}

Search for ExternalEventDefs based on certain criteria.
Expand Down Expand Up @@ -2070,6 +2089,21 @@ Search for Principals based on certain criteria.



### Message `SearchScheduledWfRunsRequest` {#searchscheduledwfrunsrequest}




| Field | Label | Type | Description |
| ----- | ---- | ---- | ----------- |
| `wf_spec_name` | | string | |
| `major_version` | optional| int32 | |
| `revision` | optional| int32 | |
<!-- end Fields -->
<!-- end HasFields -->



### Message `SearchTaskDefRequest` {#searchtaskdefrequest}

Search for TaskDef's based on certain criteria.
Expand Down
36 changes: 36 additions & 0 deletions lhctl/cmd/wf_run.go
Original file line number Diff line number Diff line change
Expand Up @@ -253,13 +253,46 @@ odd total number of args. See 'lhctl run --help' for details.`)
},
}

var searchScheduledWfsCmd = &cobra.Command{
Use: "schedule <wfSpecName> <majorVersion> <revision>",
Short: "List all scheduled wf runs for a given wf spec",
Run: func(cmd *cobra.Command, args []string) {

var majorVersion *int32
if raw, _ := cmd.Flags().GetInt32("majorVersion"); raw == -1 {
majorVersion = nil
} else {
majorVersion = &raw
}

var revision *int32
if raw, _ := cmd.Flags().GetInt32("revision"); raw == -1 {
revision = nil
} else {
revision = &raw
}
wfSpecName, _ := cmd.Flags().GetString("wfSpecName")
req := &model.SearchScheduledWfRunsRequest{
WfSpecName: wfSpecName,
MajorVersion: majorVersion,
Revision: revision,
}

common.PrintResp(getGlobalClient(cmd).SearchScheduledWf(
requestContext(cmd),
req,
))
},
}

func init() {
getCmd.AddCommand(getWfRunCmd)
searchCmd.AddCommand(searchWfRunCmd)
stopCmd.AddCommand(stopWfRunCmd)
resumeCmd.AddCommand(resumeWfRunCmd)
deleteCmd.AddCommand(deleteWfRunCmd)
scheduleCmd.AddCommand(scheduleWfCmd)
searchCmd.AddCommand(searchScheduledWfsCmd)

searchWfRunCmd.Flags().String("status", "", "Status of WfRuns to search for")
searchWfRunCmd.Flags().String("wfSpecName", "", "wfSpecName to search for")
Expand All @@ -269,6 +302,9 @@ func init() {
searchWfRunCmd.Flags().Int("latestMinutesAgo", -1, "Search only for wfRuns that started at least this number of minutes ago")
searchWfRunCmd.MarkFlagRequired("wfSpecName")
searchWfRunCmd.MarkFlagsRequiredTogether("revision", "majorVersion")
searchScheduledWfsCmd.Flags().String("wfSpecName", "", "wfSpecName to search for")
searchScheduledWfsCmd.Flags().Int32("majorVersion", -1, "WfSpec Major Version to search for")
searchScheduledWfsCmd.Flags().Int32("revision", -1, "WfSpec Revision to search for")

scheduleWfCmd.Flags().String("wfSpecName", "", "wfSpecName to search for")
scheduleWfCmd.Flags().Int32("majorVersion", -1, "WfSpec Major Version to search for")
Expand Down
12 changes: 12 additions & 0 deletions schemas/littlehorse/service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ service LittleHorse {

rpc ScheduleWf(ScheduleWfRequest) returns (ScheduledWfRun) {}

rpc SearchScheduledWf(SearchScheduledWfRunsRequest) returns (ScheduledWfRunIdList);

// Gets a WfRun. Although useful for development and debugging, this RPC is not often
// used by applications.
rpc GetWfRun(WfRunId) returns (WfRun) {}
Expand Down Expand Up @@ -1237,6 +1239,16 @@ message UserTaskRunList {
repeated UserTaskRun results = 1;
}

message ScheduledWfRunIdList {
repeated ScheduledWfRunId results = 1;
}

message SearchScheduledWfRunsRequest {
string wf_spec_name = 1;
optional int32 major_version = 2;
optional int32 revision = 3;
}

// Describes a specific task worker
message TaskWorkerMetadata {
// User-defined identifier for the worker.
Expand Down
Loading

0 comments on commit 8518dd1

Please sign in to comment.