abelanger5
a1a10b4073
feat: dynamic rate limits ( #904 )
...
* wip: step run expressions on rate limits
* feat: dynamic rate limits
* chore: v0.47.0
* chore: address changes from PR review
* fix: improved error handling
* address pr review
* better error messages for step run cels, remove debug logs
* fix: hash
---------
Co-authored-by: gabriel ruttner <gabriel.ruttner@gmail.com >
2024-09-26 22:00:34 +00:00
abelanger5
d23e5d9963
feat: expression-based concurrency keys ( #889 )
...
* feat: expression-based concurrency keys
* fix: build
* fix: typos
* fix: gen
* fix: migration
* fix: remove print statements
* fix: reassignment bugs, retries on closed transport, pr review
2024-09-19 10:32:22 -04:00
Gabe Ruttner
526e7ef308
feat: expose priority queue ( #814 )
...
* feat: workflow default priority
* feat: write priority on run
* feat: propagate to queue
* chore: squash migrations
* chore: generate
2024-08-26 14:11:28 -04:00
abelanger5
a245151d91
feat: add workflow kind to workflow versions ( #750 )
...
* feat: support workflow kinds
* chore: generate
2024-07-29 12:07:34 -07:00
Gabe Ruttner
ee68786d69
feat: sticky workers ( #695 )
...
* wip
* wip: functional query
* feat: expose affinity config
* feat: add weight to proto
* feat: upsert affinity state on worker start
* fix: linting
* feat: add upsert proto
* feat: upsert handler
* feat: revise model
* fix: labels
* feat: functional desired worker
* wip: ui
* feat: add state to step run events
* fix: filter empty keys
* fix: labels as badges
* feat: empty state and descriptive text
* chore: add todo
* chore: whitespace
* chore: cleanup
* chore: cleanup
* chore: fix hash
* chore: squash migrations
* fix: fair worker assignment
* fix: remaining slots on valid desired workers
* wip: sticky
* fix: count slots
* chore: rm log line
* feat: expose sticky config
* wip: sticky dag
* feat: expose desired worker id to trigger
* feat: trigger on desired worker
* feat: typescript docs
* feat: sticky python
* feat: py sticky children
* wip: py affinity
* serverless note
* feat: complete python examples
* linting
* fix: doc link
* chore: rm debug log
* fix: simplify list labels
* fix: typo
2024-07-22 17:20:23 -04:00
Gabe Ruttner
0586af8e8c
Feat add rate limit durations ( #466 )
...
* feat: add day, week, month, year durations
* feat: add options to client
2024-05-08 19:35:39 -04:00
Gabe Ruttner
fa07400159
feat: event and workflow run metadata ( #446 )
...
Adds additional user-defined metadata to events and workflow runs.
2024-05-06 17:10:33 -04:00
abelanger5
7543a0c2a5
add jobs which always run on failure ( #445 )
...
* (wip) prisma schema
* feat: on-failure steps
* chore: address changes from PR review
* chore: bump migration number
2024-05-06 15:39:22 -04:00
Luca Steeb
3c112d9df8
fix(workflow): remove workflow timeout in favor of step timeout ( #366 )
2024-04-10 23:53:00 +07:00
abelanger5
d01736c15a
feat(py-sdk): add support for put_workflow extending from base workflow ( #329 )
...
* feat(py-sdk): add put_workflow method and extend from base class
* feat: add cron_input to create workflow API
2024-04-02 13:29:16 -04:00
abelanger5
066b3c5b71
feat(engine): initial rate-limiting engine implementation ( #324 )
...
* feat(engine): initial rate-limiting engine implementation
* fixes and implement go sdk rate limiting
2024-04-02 10:53:03 -04:00
abelanger5
ad9e9aedbf
feat(engine/api): implementation of child/parent workflow runs ( #292 )
2024-03-29 14:07:39 -07:00
abelanger5
70a05f86cf
feat: contracts for spawn/join feature ( #290 )
...
* feat: contracts for spawn/join feature
* add parent step run ids to model
* add parent ids to schedule request
2024-03-29 14:07:39 -07:00
abelanger5
092f54c64f
refactor: separate api and engine repositories, change ticker logic ( #281 )
...
* refactor: separate api and engine repositories, change ticker logic
* fix: nil error blocks
* fix: run migration on load test
* fix: generate db package in load test
* fix: test.yml
* fix: add pnpm to load test
* fix: don't lock CTEs with columns that don't get updated
* fix: update heartbeat for worker every 4 seconds, not 5
* chore: remove dead code
* chore: update python sdk
* chore: add back telemetry attributes
2024-03-21 14:10:34 -04:00
abelanger5
46967db3ad
feat: configurable scheduling timeouts ( #204 )
...
* feat: configurable scheduling timeouts
* fix: remove validator for now
2024-02-28 01:02:13 -05:00
abelanger5
2d625fec81
feat: round robin queueing ( #194 )
2024-02-26 00:16:40 -05:00
abelanger5
df3f540748
feat: add retries to the engine and SDKs ( #171 )
...
This PR adds support for retrying failed step runs against the engine and SDKs. This was tested up to 30 retries per step run, with both failure and success at the 30th step run. Each SDK now has a `retries` configurable param for steps when declaring a workflow.
2024-02-16 13:00:22 -05:00
abelanger5
d5f991d15b
feat: add custom user data to each step ( #156 )
...
* feat: (wip) bundle rest API in typescript client
* chore: add generated files
* chore: pnpm lock file
* extract tenant id from token subject
* feat: add custom user data to context
* docs: generated with typedoc
2024-02-09 09:43:33 -05:00
abelanger5
82d7995343
feat: manual triggers and give clients a hook into step run events ( #141 )
...
* feat: pubsub for clients, more qol stuff
* fix: generate sqlc files
* chore: linting and comments
2024-02-02 12:52:34 -05:00
abelanger5
d63b66a837
feat: concurrency groups ( #135 )
...
* first pass at moving controllers around
* feat: concurrency limits for strategy CANCEL_IN_PROGRESS
* fix: linting
* chore: bump python sdk version
2024-01-30 00:00:28 -05:00
abelanger5
78685d0098
feat(security): multiple encryption options, API tokens, easier setup ( #125 )
...
* (wip) encryption
* feat: api tokens
* chore: add api token generation command
* fix: e2e tests
* chore: set timeout for e2e job
* fix: e2e tests, remove client-side certs
* chore: address PR review comments
* fix: token tests
* chore: address review comments and fix tests
2024-01-26 15:38:36 -05:00
abelanger5
52fde1e704
feat: dag-style execution ( #108 )
...
* feat: dag-style execution
* docs: update to reflect new context
* ensure no cycles
* remove example cycle
* linting
* lint and small fixes
* update deferred rollback
* last rollback handling
* unset max issues
* fix requeue edge case
2024-01-16 11:31:24 -05:00
abelanger5
752d5b0ab7
feat: support passing inputs to scheduled workflows ( #104 )
...
* fix: usage of RegisterAction
* make registered actions callable
* chore: update yaml example
* docs: register action documented
* feat: support input to scheduled workflows
* add worker
* add client
* docs: add input to schedule workflow
* chore: generate with updated protoc
* chore: sqlc generate
2024-01-12 00:27:34 -05:00
abelanger5
62445dc37f
feat: support one-time scheduled workflows ( #84 )
...
* feat: support one-time scheduled workflows
* refactor: move schedule out of workflow trigger def
* docs: add scheduling workflows section
* docs: update creating workflow
* only cancel schedules that are in the future
2024-01-08 10:03:32 -05:00
Alexander Belanger
366c79441d
first commit
2023-12-15 13:08:04 -05:00