Example #1
0
func (w *WorkerFSM) activity(ctx *fsm.FSMContext, name string, input interface{}) *swf.Decision {
	var serialized *string
	if input != nil {
		serialized = S(ctx.Serialize(input))
	}
	return &swf.Decision{
		DecisionType: S(swf.DecisionTypeScheduleActivityTask),
		ScheduleActivityTaskDecisionAttributes: &swf.ScheduleActivityTaskDecisionAttributes{
			ActivityId:             S(name),
			ActivityType:           &swf.ActivityType{Name: S(name), Version: S(name)},
			Input:                  serialized,
			HeartbeatTimeout:       S("30"),
			ScheduleToStartTimeout: S("NONE"),
			ScheduleToCloseTimeout: S("NONE"),
			StartToCloseTimeout:    S("NONE"),
			TaskList:               &swf.TaskList{Name: S("aTaskListSharedBetweenTaskOneAndTwo")},
		},
	}
}