abelanger5
334ce758ec
feat: queued metrics, along with bug fixes for round robin queueing ( #340 )
2024-04-04 17:45:10 -04:00
Gabe Ruttner
2d61324643
fix: rest client ( #338 )
...
* fix: rest client
* release: py 0.21.1
---------
Co-authored-by: gabriel ruttner <gabe@hatchet.run >
2024-04-04 09:04:30 -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
Gabe Ruttner
91b0dda46e
feat(py): global rate limits ( #328 )
...
* chore: regen protos
* feat: admin put rate limit
* fix: client type
* feat: rate limit example
* feat: workflow config
* feat: step config
* release: py 0.21.0
* fix: RateLimitDuration in init
---------
Co-authored-by: gabriel ruttner <gabe@hatchet.run >
2024-04-02 13:01:22 -04:00
Gabe Ruttner
0da379e423
feat(dashboard): improve dashboard settings for user and tokens ( #275 )
...
* feat: expires at as Date
* wip: change passwords
* feat: user can change their password
* chore: cleanup
* chore: linting
* chore: fix build issue
* fix: protoc version
* chore: resolve feedback
* fix: ref
* fix: password inputs
* chore: update generated
* fix: update respository
* feat: only show change password if user has password
* fix: linting
* fix: validation string
* chore: regen api
---------
Co-authored-by: gabriel ruttner <gabe@hatchet.run >
2024-04-02 12:50:20 -04:00
Gabe Ruttner
5066547ce6
feat: cancel in progress ( #325 )
...
* chore: bad project path
* fix: remove tickerId for replay
* feat: cancel from request
* feat: cancel button in UI
* chore: rm comment
* fix: build error
* chore: reason case
* chore: reason string
* fix: linting
---------
Co-authored-by: gabriel ruttner <gabe@hatchet.run >
2024-04-02 01:16:27 +00:00
Gabe Ruttner
d8b6843dec
feat: streaming events ( #309 )
...
* feat: add stream event model
* docs: how to work with db models
* feat: put stream event
* chore: rm comments
* feat: add stream resource type
* feat: enqueue stream event
* fix: contracts
* feat: protos
* chore: set properties correctly for typing
* fix: stream example
* chore: rm old example
* fix: async on
* fix: bytea type
* fix: worker
* feat: put stream data
* feat: stream type
* fix: correct queue
* feat: streaming payloads
* fix: cleanup
* fix: validation
* feat: example file streaming
* chore: rm unused query
* fix: tenant check and read only consumer
* fix: check tenant-steprun relation
* Update prisma/schema.prisma
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
* chore: generate protos
* chore: rename migration
* release: 0.20.0
* feat(go-sdk): implement streaming in go
---------
Co-authored-by: gabriel ruttner <gabe@hatchet.run >
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
2024-04-01 15:46:21 -04:00
abelanger5
cdf203dc3e
feat: new listen strategy with worker-side heartbeats ( #308 )
2024-03-31 22:45:10 -04:00
Gabe Ruttner
d426c9316d
feat(py-sdk): spawn and join ( #299 )
...
* chore: expose full client to context
* chore: update protos
* feat: add parent options to trigger
* feat: example fanout worker
* fix: typehint
* feat: add spawn workflow to context
* wip: polling and streaming
* fix: correct request
* chore: rm logging
* feat: working polling
* feat: functional polling
* chore: separate connection
* feat: functional streaming and listening
* fix: get result payload
* fix: increased initial poll interval
* release (py): 0.19.0
---------
Co-authored-by: gabriel ruttner <gabe@hatchet.run >
2024-03-29 14:07:39 -07:00
abelanger5
0daa62974a
feat(frontend): basic list of child workflows ( #293 )
2024-03-29 14:07:39 -07:00
abelanger5
ad9e9aedbf
feat(engine/api): implementation of child/parent workflow runs ( #292 )
2024-03-29 14:07:39 -07:00
Gabe Ruttner
1dccc387b0
feat(py): schedule_workflows ( #287 )
...
* feat: schedule workflows
* docs: delay events
* fix: linting
* release: py 0.18.0
2024-03-22 20:46:20 -04: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
d9360520de
chore: add better telemetry to database ( #268 )
...
* chore: add better telemetry to database
* fix: span end on query
2024-03-15 15:08:40 -04:00
abelanger5
d7e6e4d8c6
fix: worker locking on requeues ( #265 )
...
* fix: worker locking on requeues
* chore: add alerter to dispatcher
2024-03-13 21:50:02 -04:00
abelanger5
c66f97c856
fix: deadlocks on workers and tickers ( #241 )
...
* chore: add sentry support to engine
* fix: deadlocks on workers and tickers
* refactor: reduce prisma calls in engine
* trigger
* fix: remove some tenant lookups
* feat: dlx and renamed taskqueue -> msgqueue
* refactor: get group key run logic
* fix: retry counts on messages and concurrency edge cases
* fix: rabbitmq integration tests
* feat: add consumer timeouts
---------
Co-authored-by: Luca Steeb <contact@luca-steeb.com >
2024-03-12 00:45:18 -04:00
abelanger5
a982ff26dd
Update pyproject.toml
2024-03-11 13:21:02 -04:00
abelanger5
5ddc9f80d8
feat(python-sdk): logs api endpoint ( #253 )
2024-03-11 13:20:38 -04:00
g
f3769a47fa
release: py 0.15.4
2024-03-07 17:02:49 -08:00
g
49f16ba953
fix: register timeout
2024-03-07 17:02:32 -08:00
abelanger5
38688adce5
feat: sns integrations from frontend ( #249 )
2024-03-07 18:52:08 -05:00
g
92330002c0
release: py 0.15.3
2024-03-07 14:01:47 -08:00
g
5b1787cf6f
fix: register workflow with name param
2024-03-07 13:59:27 -08:00
g
0583bd007e
release: bump version
2024-03-07 09:38:30 -08:00
g
8597ac7d52
hotfix: context serialization
2024-03-07 09:34:08 -08:00
Gabe Ruttner
b9f3ff1609
feat(py-sdk): async steps ( #246 )
...
* feat: async wrapper
* feat: async examples
* release: bump version 0.15.1
2024-03-06 15:24:44 -08:00
abelanger5
85d89886d3
feat: display concurrency settings on the UI ( #236 )
...
* feat: display concurrency settings on the UI
* feat: show triggering settings as well
2024-03-04 22:15:56 -05:00
abelanger5
d3534edc4c
fix: parse schema in API, not engine ( #233 )
...
* no schema parsing in core engine
* fix: parse schema in api, not engine
* fix: parsing of input schema should not use json keys as field names
2024-03-04 18:39:54 -05:00
abelanger5
c4fc355805
feat: events list filtering by status ( #232 )
2024-03-04 17:10:44 -05:00
abelanger5
043f23e2a3
feat: support ingestion from SNS ( #231 )
2024-03-04 16:52:45 -05:00
abelanger5
d376b953aa
feat: python rest api ( #223 )
...
* feat: Adds a generated REST API client and exposes workflow methods for programmatic usage
2024-03-02 20:33:20 -05:00
abelanger5
f256b258d8
feat: logging from step run executions ( #217 )
...
* fix: job cancellations with shared ctx
* fix: found the bug
* fix: all job runs were getting cancelled
* feat: support logging from executions
* fix: place logging in background
* add back split screen
2024-03-01 17:55:31 -05: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
6ea38a99f2
feat: support maxRuns parameter on workers ( #195 )
...
* feat: round robin queueing
* feat: configurable max runs per worker
* fix: address PR review
* docs for max runs and group round robin
2024-02-26 00:48:46 -05:00
abelanger5
2d625fec81
feat: round robin queueing ( #194 )
2024-02-26 00:16:40 -05:00
Gabe Ruttner
5bd42b16ec
chore: cleanup example ( #184 )
2024-02-22 15:15:07 -05:00
abelanger5
149fa7b15e
docs: improvements, launch post ( #183 )
...
* docs: improvements, launch post
* fix: python sdk exception
* Update README.md
* add videos, remove gifs
* docs logo link should be homepage
* Update README.md
* copy edits and feedback
2024-02-22 14:56:51 -05:00
Gabe Ruttner
a7cff7f218
fix: worker listener retires ( #181 )
...
* hotfix: add repository for npm publish
* release(py-sdk): bump version
* chore: ignore venv
* fix: add timeout to retry
* chore: rm change
* fix: remove duplicate logic and favor retries in dispatcher
* release: bump version
* fix: retry on general failures
* chore: rm unused code
* fix: retries reset if greater than interval
2024-02-21 18:54:42 -08:00
abelanger5
e44c3a1290
fix: link github issues and support insecure py opt ( #180 )
2024-02-20 13:14:30 -05:00
abelanger5
2f14e74b5c
chore: rename overrides to playground ( #179 )
2024-02-19 20:29:27 -05:00
abelanger5
6b747711fb
fix: engine bugs and python sdk ( #178 )
...
* fix: engine bugs and python sdk
* chore: fix linting
2024-02-19 18:57:05 -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
g
4d44c7eaff
chore: build errors and linting
2024-02-15 17:45:50 -07:00
abelanger5
3743746657
feat: github app integration ( #163 )
...
* feat: github app integration
* chore: proto
* fix: migrate instead of push
* fix: db migrate -> migrate
* fix: migrate again
* remove skip-generate
* add back generate
* setup pnpm
2024-02-13 21:34:16 -05:00
Gabe Ruttner
45813fdb1b
feat: dashboard playground ui ( #162 )
...
* hotfix: add repository for npm publish
* release(py-sdk): bump version
* chore: ignore venv
* feat(dashboard): collapsible sidebar
* fix: hangup workflow listener when workflow run finishes (#161 )
* wip: class based listener pattern
* fix: workflow run listener hangups
* fix: hang up workflow listener on finished
* fix: case for current workflow run
* address review comments
* bump version
---------
Co-authored-by: g <gabriel.ruttner@gmail.com >
* wip: focus state and flat playground
* fix: focus state
* feat: unify state
* wip: playground state
* cleanup: rm logging
* fix: default output
* cleanup: rm deadcode
* feat: can replay individual steps
* feat: icon tabs
* feat: sticky output
* cleanup: linting
---------
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
2024-02-13 10:24:46 -07:00
Alexander Belanger
011125abfd
feat(wip): add overrides data and input schema to database
2024-02-09 10:03:20 -05:00
Gabe Ruttner
511b91a4ec
fix: async generator ( #155 )
...
* hotfix: add repository for npm publish
* release(py-sdk): bump version
* fix: async generator
* release: bump version
* fix: remove unused logging
2024-02-06 07:17:56 -05:00
Gabe Ruttner
5f06e8cfce
feat (py-sdk): python streaming generator ( #154 )
...
* hotfix: add repository for npm publish
* release(py-sdk): bump version
* feat: expose generator
* release: bump version
2024-02-05 18:16:23 -05:00
Gabe Ruttner
9f17b61621
release(py-sdk): bump version
2024-02-05 12:40:40 -05:00
Gabe Ruttner
5ccc5614a9
feat(py-sdk): event streaming and manual triggering ( #152 )
...
* hotfix: add repository for npm publish
* chore: generate protos
* feat: trigger workflow
* fix: remove tenant id from schedule workflow
* fix: logging
* feat: run returns workflow_run_id
* feat: listen for run events
* feat: listener calls handler
* chore: address review comment
2024-02-05 12:32:04 -05:00