Skip to content

Commit

Permalink
Merge develop branch to master for v0.28.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
alexshtin authored Jul 31, 2020
2 parents 0847be3 + 2a3de1c commit e5c9523
Show file tree
Hide file tree
Showing 90 changed files with 421 additions and 745 deletions.
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,5 +37,10 @@ errcheck:
@GO111MODULE=off go get -u github.com/kisielk/errcheck
@errcheck ./...

update-sdk:
go get -u go.temporal.io/api@master
go get -u go.temporal.io/sdk@master
go mod tidy

clean:
rm -rf bin
4 changes: 1 addition & 3 deletions branch/branch_workflow.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import (
"fmt"
"time"

"go.uber.org/zap"

"go.temporal.io/sdk/workflow"
)

Expand Down Expand Up @@ -34,7 +32,7 @@ func SampleBranchWorkflow(ctx workflow.Context, totalBranches int) (result []str
for _, future := range futures {
var singleResult string
err = future.Get(ctx, &singleResult)
logger.Info("Activity returned with result", zap.String("resutl", singleResult))
logger.Info("Activity returned with result", "resutl", singleResult)
if err != nil {
return
}
Expand Down
13 changes: 4 additions & 9 deletions branch/starter/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,14 @@ package main

import (
"context"
"log"

"go.temporal.io/sdk/client"
"go.uber.org/zap"

"github.com/temporalio/temporal-go-samples/branch"
)

func main() {
logger, err := zap.NewDevelopment()
if err != nil {
panic(err)
}

// The client is a heavyweight object that should be created once per process.
c, err := client.NewClient(client.Options{})
if err != nil {
Expand All @@ -28,9 +23,9 @@ func main() {
ctx := context.Background()
we, err := c.ExecuteWorkflow(ctx, workflowOptions, branch.SampleBranchWorkflow, 10)
if err != nil {
logger.Fatal("Failure starting workflow", zap.Error(err))
log.Fatalln("Failure starting workflow", err)
}
logger.Info("Started workflow", zap.String("WorkflowID", we.GetID()), zap.String("RunID", we.GetRunID()))
log.Println("Started workflow", "WorkflowID", we.GetID(), "RunID", we.GetRunID())

// Wait for workflow completion. This is rarely needed in real use cases
// when workflows are potentially long running
Expand All @@ -39,5 +34,5 @@ func main() {
if err != nil {
panic(err)
}
logger.Info("Started workflow", zap.String("WorkflowID", we.GetID()), zap.String("RunID", we.GetRunID()))
log.Println("Started workflow", "WorkflowID", we.GetID(), "RunID", we.GetRunID())
}
15 changes: 5 additions & 10 deletions branch/worker/main.go
Original file line number Diff line number Diff line change
@@ -1,26 +1,21 @@
package main

import (
"log"

"go.temporal.io/sdk/client"
"go.temporal.io/sdk/worker"
"go.uber.org/zap"

"github.com/temporalio/temporal-go-samples/branch"
)

func main() {
logger, err := zap.NewDevelopment()
if err != nil {
panic(err)
}

// The client and worker are heavyweight objects that should be created once per process.
c, err := client.NewClient(client.Options{
Logger: logger,
HostPort: client.DefaultHostPort,
})
if err != nil {
logger.Fatal("Unable to create client", zap.Error(err))
log.Fatalln("Unable to create client", err)
}
defer c.Close()

Expand All @@ -29,8 +24,8 @@ func main() {
w.RegisterWorkflow(branch.SampleBranchWorkflow)
w.RegisterActivity(branch.SampleActivity)

err = w.Run()
err = w.Run(worker.InterruptCh())
if err != nil {
logger.Fatal("Unable to start worker", zap.Error(err))
log.Fatalln("Unable to start worker", err)
}
}
13 changes: 4 additions & 9 deletions cancelactivity/cancel/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,12 @@ package main
import (
"context"
"flag"
"log"

"go.temporal.io/sdk/client"
"go.uber.org/zap"
)

func main() {
logger, err := zap.NewDevelopment()
if err != nil {
panic(err)
}

var workflowID string
flag.StringVar(&workflowID, "wid", "", "workflowID of the workflow to be canceled.")
flag.Parse()
Expand All @@ -28,13 +23,13 @@ func main() {
HostPort: client.DefaultHostPort,
})
if err != nil {
logger.Fatal("Unable to create client", zap.Error(err))
log.Fatalln("Unable to create client", err)
}
defer c.Close()

err = c.CancelWorkflow(context.Background(), workflowID, "")
if err != nil {
logger.Fatal("Unable to cancel workflow", zap.Error(err))
log.Fatalln("Unable to cancel workflow", err)
}
logger.Info("Workflow cancelled", zap.String("WorkflowID", workflowID))
log.Println("Workflow cancelled", "WorkflowID", workflowID)
}
13 changes: 4 additions & 9 deletions cancelactivity/starter/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,14 @@ package main
import (
"context"
"flag"
"log"

"go.temporal.io/sdk/client"
"go.uber.org/zap"

"github.com/temporalio/temporal-go-samples/cancelactivity"
)

func main() {
logger, err := zap.NewDevelopment()
if err != nil {
panic(err)
}

var workflowID string
flag.StringVar(&workflowID, "w", "workflowID-to-cancel", "w is the workflowID of the workflow to be canceled.")
flag.Parse()
Expand All @@ -25,7 +20,7 @@ func main() {
HostPort: client.DefaultHostPort,
})
if err != nil {
logger.Fatal("Unable to create client", zap.Error(err))
log.Fatalln("Unable to create client", err)
}
defer c.Close()

Expand All @@ -36,7 +31,7 @@ func main() {

we, err := c.ExecuteWorkflow(context.Background(), workflowOptions, cancelactivity.Workflow)
if err != nil {
logger.Fatal("Unable to execute workflow", zap.Error(err))
log.Fatalln("Unable to execute workflow", err)
}
logger.Info("Started workflow", zap.String("WorkflowID", we.GetID()), zap.String("RunID", we.GetRunID()))
log.Println("Started workflow", "WorkflowID", we.GetID(), "RunID", we.GetRunID())
}
15 changes: 5 additions & 10 deletions cancelactivity/worker/main.go
Original file line number Diff line number Diff line change
@@ -1,26 +1,21 @@
package main

import (
"log"

"go.temporal.io/sdk/client"
"go.temporal.io/sdk/worker"
"go.uber.org/zap"

"github.com/temporalio/temporal-go-samples/cancelactivity"
)

func main() {
logger, err := zap.NewDevelopment()
if err != nil {
panic(err)
}

// The client and worker are heavyweight objects that should be created once per process.
c, err := client.NewClient(client.Options{
HostPort: client.DefaultHostPort,
Logger: logger,
})
if err != nil {
logger.Fatal("Unable to create client", zap.Error(err))
log.Fatalln("Unable to create client", err)
}
defer c.Close()

Expand All @@ -29,8 +24,8 @@ func main() {
w.RegisterWorkflow(cancelactivity.Workflow)
w.RegisterActivity(&cancelactivity.Activities{})

err = w.Run()
err = w.Run(worker.InterruptCh())
if err != nil {
logger.Fatal("Unable to start worker", zap.Error(err))
log.Fatalln("Unable to start worker", err)
}
}
5 changes: 2 additions & 3 deletions cancelactivity/workflow.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"time"

"go.temporal.io/sdk/workflow"
"go.uber.org/zap"
)

/**
Expand All @@ -29,7 +28,7 @@ func Workflow(ctx workflow.Context) error {
newCtx, _ := workflow.NewDisconnectedContext(ctx)
err := workflow.ExecuteActivity(newCtx, a.CleanupActivity).Get(ctx, nil)
if err != nil {
logger.Error("Cleanup activity failed", zap.Error(err))
logger.Error("Cleanup activity failed", "Error", err)
}
}()

Expand All @@ -38,7 +37,7 @@ func Workflow(ctx workflow.Context) error {
logger.Info(fmt.Sprintf("activityToBeCanceled returns %v, %v", result, err))

err = workflow.ExecuteActivity(ctx, a.ActivityToBeSkipped).Get(ctx, nil)
logger.Error("Error from activityToBeSkipped", zap.Error(err))
logger.Error("Error from activityToBeSkipped", "Error", err)

logger.Info("Workflow completed.")

Expand Down
8 changes: 3 additions & 5 deletions child-workflow-continue-as-new/child_workflow.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,25 @@ import (
"fmt"

"go.temporal.io/sdk/workflow"
"go.uber.org/zap"
)

// SampleChildWorkflow workflow definition
func SampleChildWorkflow(ctx workflow.Context, totalCount, runCount int) (string, error) {
logger := workflow.GetLogger(ctx)
logger.Info("Child workflow execution started.")
if runCount <= 0 {
logger.Error("Invalid valid for run count.", zap.Int("RunCount", runCount))
logger.Error("Invalid valid for run count.", "RunCount", runCount)
return "", errors.New("invalid run count")
}

totalCount++
runCount--
if runCount == 0 {
result := fmt.Sprintf("Child workflow execution completed after %v runs", totalCount)
logger.Info("Child workflow completed.", zap.String("Result", result))
logger.Info("Child workflow completed.", "Result", result)
return result, nil
}

logger.Info("Child workflow starting new run.", zap.Int("RunCount", runCount), zap.Int("TotalCount",
totalCount))
logger.Info("Child workflow starting new run.", "RunCount", runCount, "TotalCount", totalCount)
return "", workflow.NewContinueAsNewError(ctx, SampleChildWorkflow, totalCount, runCount)
}
5 changes: 2 additions & 3 deletions child-workflow-continue-as-new/parent_workflow.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"

"go.temporal.io/sdk/workflow"
"go.uber.org/zap"
)

// SampleParentWorkflow workflow definition
Expand All @@ -21,10 +20,10 @@ func SampleParentWorkflow(ctx workflow.Context) error {
var result string
err := workflow.ExecuteChildWorkflow(ctx, SampleChildWorkflow, 0, 5).Get(ctx, &result)
if err != nil {
logger.Error("Parent execution received child execution failure.", zap.Error(err))
logger.Error("Parent execution received child execution failure.", "Error", err)
return err
}

logger.Info("Parent execution completed.", zap.String("Result", result))
logger.Info("Parent execution completed.", "Result", result)
return nil
}
13 changes: 4 additions & 9 deletions child-workflow-continue-as-new/starter/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,21 @@ package main

import (
"context"
"log"

"github.com/pborman/uuid"
"go.temporal.io/sdk/client"
"go.uber.org/zap"

cw "github.com/temporalio/temporal-go-samples/child-workflow-continue-as-new"
)

func main() {
logger, err := zap.NewDevelopment()
if err != nil {
panic(err)
}

// The client is a heavyweight object that should be created once per process.
c, err := client.NewClient(client.Options{
HostPort: client.DefaultHostPort,
})
if err != nil {
logger.Fatal("Unable to create client", zap.Error(err))
log.Fatalln("Unable to create client", err)
}
defer c.Close()

Expand All @@ -34,7 +29,7 @@ func main() {

we, err := c.ExecuteWorkflow(context.Background(), workflowOptions, cw.SampleParentWorkflow)
if err != nil {
logger.Fatal("Unable to execute workflow", zap.Error(err))
log.Fatalln("Unable to execute workflow", err)
}
logger.Info("Started workflow", zap.String("WorkflowID", we.GetID()), zap.String("RunID", we.GetRunID()))
log.Println("Started workflow", "WorkflowID", we.GetID(), "RunID", we.GetRunID())
}
15 changes: 5 additions & 10 deletions child-workflow-continue-as-new/worker/main.go
Original file line number Diff line number Diff line change
@@ -1,26 +1,21 @@
package main

import (
"log"

"go.temporal.io/sdk/client"
"go.temporal.io/sdk/worker"
"go.uber.org/zap"

cw "github.com/temporalio/temporal-go-samples/child-workflow-continue-as-new"
)

func main() {
logger, err := zap.NewDevelopment()
if err != nil {
panic(err)
}

// The client and worker are heavyweight objects that should be created once per process.
c, err := client.NewClient(client.Options{
HostPort: client.DefaultHostPort,
Logger: logger,
})
if err != nil {
logger.Fatal("Unable to create client", zap.Error(err))
log.Fatalln("Unable to create client", err)
}
defer c.Close()

Expand All @@ -29,8 +24,8 @@ func main() {
w.RegisterWorkflow(cw.SampleParentWorkflow)
w.RegisterWorkflow(cw.SampleChildWorkflow)

err = w.Run()
err = w.Run(worker.InterruptCh())
if err != nil {
logger.Fatal("Unable to start worker", zap.Error(err))
log.Fatalln("Unable to start worker", err)
}
}
Loading

0 comments on commit e5c9523

Please sign in to comment.