mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-01-01 22:29:54 -06:00
* fix: rm method from docs button * feat: close side panel on navigate * feat: migration to fix pk * fix: create index at the end * fix: properly compute pagination response for events * feat: add event count to query * feat: queries * wire up since and until queries * fix: fe * fix: ordering * chore: gen * fix: pesky zero values * fix: rm react-table side pagination * fix: bug * fix: start working on pagination * fix: refactor a bit * fix: pagination * feat: pagination on workflows * fix: callbacks * fix: key * fix: calc * feat: migration attempt 2 * fix: lint * chore: gen * fix: recreate trigger in migration * fix: test improvement * fix: lint * fix: order in schema * fix: rename indexes in partitions too * Feat: FE Burndown, Part V (#1814) * feat: extend eslint config to make a lot of rules much stricter * fix: auto-fix a bunch of linting failures * feat: start fixing a bunch of linting errors * fix: more * fix: run knip to remove a bunch of unused stuff * fix: bunch more errors * fix: bunch more * fix: more * fix: checkout old file * fix: more * fix: couple more callbacks * fix: remaining issues * fix: tsc * fix: copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: copilot pushing stuff that doesn't work, as usual * fix: more ignores --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Feat: Langfuse Integration (#1822) * Fix: Internal blocking calls in admin client (#1818) * fix: admin client blockages * chore: ver * chore: changelog * Revert "fix: rm langfuse for now" This reverts commit493566a307. * Revert "fix: rm langfuse trace pic" This reverts commitfb689f4c50. * fix: pre * chore(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0 (#1827) Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.38.0 to 0.39.0. - [Commits](https://github.com/golang/crypto/compare/v0.38.0...v0.39.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-version: 0.39.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump google.golang.org/grpc from 1.72.2 to 1.73.0 (#1828) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.72.2 to 1.73.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.72.2...v1.73.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-version: 1.73.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump golang.org/x/text from 0.25.0 to 0.26.0 (#1829) Bumps [golang.org/x/text](https://github.com/golang/text) from 0.25.0 to 0.26.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.25.0...v0.26.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-version: 0.26.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump golang.org/x/sync from 0.14.0 to 0.15.0 (#1830) Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.14.0 to 0.15.0. - [Commits](https://github.com/golang/sync/compare/v0.14.0...v0.15.0) --- updated-dependencies: - dependency-name: golang.org/x/sync dependency-version: 0.15.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump golang.org/x/time from 0.11.0 to 0.12.0 (#1831) Bumps [golang.org/x/time](https://github.com/golang/time) from 0.11.0 to 0.12.0. - [Commits](https://github.com/golang/time/compare/v0.11.0...v0.12.0) --- updated-dependencies: - dependency-name: golang.org/x/time dependency-version: 0.12.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump hatchet-sdk in /examples/python/quickstart (#1832) Bumps hatchet-sdk from 1.11.0 to 1.11.1. --- updated-dependencies: - dependency-name: hatchet-sdk dependency-version: 1.11.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: update langfuse docs / examples to agree with their recommendations --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Feat: Filter + Events Improvements (#1806) * feat: query for listing filters on a workflow * feat: first pass at new filtering logic * feat: event key wildcards * fix: typo * fix: write wildcard on event ref insert * feat: tests for wildcard * chore: gen * feat: working wildcards * fix: test cruft * fix: tests * fix: tests * fix: tests * feat: improve wildcard handling * fix: missed a payload include spot * feat: extend tests more * feat: extend test more * fix: flakiness * feat: add scope col to events * feat: write scopes into db with events * fix: god I hate zero values * chore: gen, lint, etc. * fix: try wrapping yield in try / finally for robustness * fix: typing * fix: simplify * fix: migration ver * Feat: Tenant getter + corresponding SDK warnings (#1809) * feat: tenant get endpoint * feat: impl for tenant * chore: gen * feat: Python impl * feat: scary warning * chore: lint * fix: try / except * feat: ts client * feat: go * chore: versions * Update sdks/python/hatchet_sdk/hatchet.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update sdks/typescript/src/v1/client/client.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: fmt * fix: description * fix: review * fix: changelog * chore: gen --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Feat: Workflow run status getter on the API (#1808) * feat: api for status getter * feat: api * feat: sdk * chore: gen python * chore: gen ts * fix: simplify api * chore: gen * chore: rm unused python * chore: vers * fix: pr feedback * chore: gen * chore: gen * chore: gen * Feat: Filter Updates (#1840) * feat: api * feat: impl * fix: patch * chore: gen * feat: python * chore: changelog * feat: ts * feat: go * fix: copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Feat: Declaratively create filters on worker start (#1825) * feat: dynamically create filters when workflow is registered * fix: python utc timestamps everywhere * refactor: fix up runs list a bit * refactor: move more methods under shared BaseWorkflow * feat: register default filters * fix: docs * chore: gen, docs * chore: lint * fix: v1 * fix: add filter to proto * feat: implement default filters on put workflow * feat: fix go impl * chore: gen py * feat: wire up Python * fix: rm cruft * fix: ts * fix: bugs * chore: gen, versions * feat: changelog * chore: lock * fix: go * fix: rm cruft * fix: lockfile * feat: add is_declarative flag to filters * feat: extend filter insert queries * feat: bulk upsert filters on workflow version create * fix: wire up declarative stuff * fix: mutexing issue * feat: wire up declarative filters * feat: naming * chore: gen * fix: nullable payloads * fix: check json validity * fix: rm on conflict * fix: query naming + declarative-ness handling * fix: rm payload from error * fix: versions and such * chore: gen * Feat: Filtering + Events Docs Revamp + SDK Tweaks (#1843) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
155 lines
5.1 KiB
Go
155 lines
5.1 KiB
Go
package create
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/hatchet-dev/hatchet/pkg/client/types"
|
|
"github.com/hatchet-dev/hatchet/pkg/worker/condition"
|
|
)
|
|
|
|
type BaseTaskCreateOpts[I any] struct {
|
|
}
|
|
|
|
// NamedTask defines an interface for task types that have a name
|
|
type NamedTask interface {
|
|
// GetName returns the name of the task
|
|
GetName() string
|
|
}
|
|
|
|
type WorkflowTask[I, O any] struct {
|
|
// (required) The name of the task and workflow
|
|
Name string
|
|
|
|
// (optional) The version of the workflow
|
|
Version string
|
|
|
|
// (optional) The human-readable description of the workflow
|
|
Description string
|
|
|
|
// (optional) ExecutionTimeout specifies the maximum duration a task can run before being terminated
|
|
ExecutionTimeout time.Duration
|
|
|
|
// (optional) ScheduleTimeout specifies the maximum time a task can wait to be scheduled
|
|
ScheduleTimeout time.Duration
|
|
|
|
// (optional) Retries defines the number of times to retry a failed task
|
|
Retries int32
|
|
|
|
// (optional) RetryBackoffFactor is the multiplier for increasing backoff between retries
|
|
RetryBackoffFactor float32
|
|
|
|
// (optional) RetryMaxBackoffSeconds is the maximum backoff duration in seconds between retries
|
|
RetryMaxBackoffSeconds int32
|
|
|
|
// (optional) RateLimits define constraints on how frequently the task can be executed
|
|
RateLimits []*types.RateLimit
|
|
|
|
// (optional) WorkerLabels specify requirements for workers that can execute this task
|
|
WorkerLabels map[string]*types.DesiredWorkerLabel
|
|
|
|
// (optional) Concurrency defines constraints on how many instances of this task can run simultaneously
|
|
Concurrency []*types.Concurrency
|
|
|
|
// WaitFor represents a set of conditions which must be satisfied before the task can run.
|
|
WaitFor condition.Condition
|
|
|
|
// SkipIf represents a set of conditions which, if satisfied, will cause the task to be skipped.
|
|
SkipIf condition.Condition
|
|
|
|
// CancelIf represents a set of conditions which, if satisfied, will cause the task to be canceled.
|
|
CancelIf condition.Condition
|
|
|
|
// (optional) Parents are the tasks that must successfully complete before this task can start
|
|
Parents []NamedTask
|
|
|
|
DefaultPriority *int32
|
|
}
|
|
|
|
type WorkflowOnFailureTask[I, O any] struct {
|
|
// (optional) The version of the workflow
|
|
Version string
|
|
|
|
// (optional) The human-readable description of the workflow
|
|
Description string
|
|
|
|
// (optional) ExecutionTimeout specifies the maximum duration a task can run before being terminated
|
|
ExecutionTimeout time.Duration
|
|
|
|
// (optional) ScheduleTimeout specifies the maximum time a task can wait to be scheduled
|
|
ScheduleTimeout time.Duration
|
|
|
|
// (optional) Retries defines the number of times to retry a failed task
|
|
Retries int32
|
|
|
|
// (optional) RetryBackoffFactor is the multiplier for increasing backoff between retries
|
|
RetryBackoffFactor float32
|
|
|
|
// (optional) RetryMaxBackoffSeconds is the maximum backoff duration in seconds between retries
|
|
RetryMaxBackoffSeconds int32
|
|
|
|
// (optional) RateLimits define constraints on how frequently the task can be executed
|
|
RateLimits []*types.RateLimit
|
|
|
|
// (optional) WorkerLabels specify requirements for workers that can execute this task
|
|
WorkerLabels map[string]*types.DesiredWorkerLabel
|
|
|
|
// (optional) Concurrency defines constraints on how many instances of this task can run simultaneously
|
|
Concurrency []*types.Concurrency
|
|
}
|
|
|
|
// TaskCreateOpts defines options for creating a standalone task.
|
|
// This combines both workflow and task properties in a single type.
|
|
type StandaloneTask struct {
|
|
|
|
// (required) The name of the task and workflow
|
|
Name string
|
|
|
|
// (optional) The version of the workflow
|
|
Version string
|
|
|
|
// (optional) The human-readable description of the workflow
|
|
Description string
|
|
|
|
// (optional) ExecutionTimeout specifies the maximum duration a task can run before being terminated
|
|
ExecutionTimeout time.Duration
|
|
|
|
// (optional) ScheduleTimeout specifies the maximum time a task can wait to be scheduled
|
|
ScheduleTimeout time.Duration
|
|
|
|
// (optional) Retries defines the number of times to retry a failed task
|
|
Retries int32
|
|
|
|
// (optional) RetryBackoffFactor is the multiplier for increasing backoff between retries
|
|
RetryBackoffFactor float32
|
|
|
|
// (optional) RetryMaxBackoffSeconds is the maximum backoff duration in seconds between retries
|
|
RetryMaxBackoffSeconds int32
|
|
|
|
// (optional) RateLimits define constraints on how frequently the task can be executed
|
|
RateLimits []*types.RateLimit
|
|
|
|
// (optional) WorkerLabels specify requirements for workers that can execute this task
|
|
WorkerLabels map[string]*types.DesiredWorkerLabel
|
|
|
|
// (optional) Concurrency defines constraints on how many instances of this task can run simultaneously
|
|
Concurrency []*types.Concurrency
|
|
|
|
// (optional) The event names that trigger the workflow
|
|
OnEvents []string
|
|
|
|
// (optional) The cron expressions for scheduled workflow runs
|
|
OnCron []string
|
|
|
|
DefaultPriority *int32
|
|
|
|
DefaultFilters []types.DefaultFilter
|
|
}
|
|
|
|
// DurableTaskCreateOpts defines options for creating a standalone durable task.
|
|
// This combines both workflow and durable task properties in a single type.
|
|
type StandaloneDurableTaskCreateOpts[I, O any] struct {
|
|
StandaloneTask
|
|
// (required) The function to execute when the task runs
|
|
Fn interface{}
|
|
}
|