mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-05-08 02:49:17 -05:00
fix: v1 event push on REST API, namespace (#1575)
* fix: v1 event push on REST API, namespace * fix(go-sdk): duration timeouts should be cast to seconds
This commit is contained in:
+12
-6
@@ -145,12 +145,11 @@ func makeContractTaskOpts(t *TaskShared, taskDefaults *create.TaskDefaults) *con
|
||||
}
|
||||
|
||||
if t.ExecutionTimeout != nil {
|
||||
executionTimeout := t.ExecutionTimeout.String()
|
||||
taskOpts.Timeout = executionTimeout
|
||||
taskOpts.Timeout = durationToSeconds(*t.ExecutionTimeout)
|
||||
}
|
||||
|
||||
if t.ScheduleTimeout != nil {
|
||||
scheduleTimeout := t.ScheduleTimeout.String()
|
||||
scheduleTimeout := durationToSeconds(*t.ScheduleTimeout)
|
||||
taskOpts.ScheduleTimeout = &scheduleTimeout
|
||||
}
|
||||
|
||||
@@ -174,12 +173,11 @@ func makeContractTaskOpts(t *TaskShared, taskDefaults *create.TaskDefaults) *con
|
||||
}
|
||||
|
||||
if t.ExecutionTimeout == nil && taskDefaults.ExecutionTimeout != 0 {
|
||||
executionTimeout := taskDefaults.ExecutionTimeout.String()
|
||||
taskOpts.Timeout = executionTimeout
|
||||
taskOpts.Timeout = durationToSeconds(taskDefaults.ExecutionTimeout)
|
||||
}
|
||||
|
||||
if t.ScheduleTimeout == nil && taskDefaults.ScheduleTimeout != 0 {
|
||||
scheduleTimeout := taskDefaults.ScheduleTimeout.String()
|
||||
scheduleTimeout := durationToSeconds(taskDefaults.ScheduleTimeout)
|
||||
taskOpts.ScheduleTimeout = &scheduleTimeout
|
||||
}
|
||||
|
||||
@@ -240,6 +238,14 @@ func (t *TaskDeclaration[I]) Dump(workflowName string, taskDefaults *create.Task
|
||||
return base
|
||||
}
|
||||
|
||||
func durationToSeconds(d time.Duration) string {
|
||||
if d == 0 {
|
||||
return "0s"
|
||||
}
|
||||
|
||||
return fmt.Sprintf("%ds", int(d.Seconds()))
|
||||
}
|
||||
|
||||
func (t *DurableTaskDeclaration[I]) Dump(workflowName string, taskDefaults *create.TaskDefaults) *contracts.CreateTaskOpts {
|
||||
base := makeContractTaskOpts(&t.TaskShared, taskDefaults)
|
||||
base.ReadableId = t.Name
|
||||
|
||||
@@ -165,10 +165,23 @@ func NewWorkflowDeclaration[I any, O any](opts create.WorkflowCreateOpts[I], v0
|
||||
|
||||
workflowName := opts.Name
|
||||
|
||||
if ns := v0.Namespace(); ns != "" && !strings.HasPrefix(opts.Name, ns) {
|
||||
ns := v0.Namespace()
|
||||
|
||||
if ns != "" && !strings.HasPrefix(opts.Name, ns) {
|
||||
workflowName = fmt.Sprintf("%s%s", ns, workflowName)
|
||||
}
|
||||
|
||||
onEvents := opts.OnEvents
|
||||
|
||||
if ns != "" && len(onEvents) > 0 {
|
||||
// Prefix the events with the namespace
|
||||
onEvents = make([]string, len(opts.OnEvents))
|
||||
|
||||
for i, event := range opts.OnEvents {
|
||||
onEvents[i] = fmt.Sprintf("%s%s", ns, event)
|
||||
}
|
||||
}
|
||||
|
||||
wf := &workflowDeclarationImpl[I, O]{
|
||||
v0: v0,
|
||||
crons: crons,
|
||||
@@ -176,7 +189,7 @@ func NewWorkflowDeclaration[I any, O any](opts create.WorkflowCreateOpts[I], v0
|
||||
metrics: metrics,
|
||||
workflows: workflows,
|
||||
Name: workflowName,
|
||||
OnEvents: opts.OnEvents,
|
||||
OnEvents: onEvents,
|
||||
OnCron: opts.OnCron,
|
||||
Concurrency: opts.Concurrency,
|
||||
// OnFailureTask: opts.OnFailureTask, // TODO: add this back in
|
||||
|
||||
Reference in New Issue
Block a user