abelanger5
b0b2e26952
feat: hatchet-lite ( #560 )
...
* feat: hatchet-lite mvp
* fix: init shadow db
* fix: install atlas
* fix: correct env
* fix: wait for db ready
* fix: remove name flag
* fix: add hatchet-lite to build
2024-06-06 14:03:53 -04:00
Gabe Ruttner
8b1417b1d8
feat: worker semaphore v2 ( #540 )
...
* wip: semaphore slot table
* wip: acquire and release semaphore
* Fix deadlock/pool exhaustion
* fix: update skip locked cte
* feat: release resolver
* wip: migration
* chore: migrate running steps to semaphore
* feat: add next alert column
* feat: add notification templates
* feat: add poll token ticker
* fix: expiring 7 days
* fix: no expired tokens
* fix: subject string
* fix: message string
* fix: slack format
* feat: add config columns
* feat: expose api
* feat: update alerter opts
* feat: update ui
* chore: ui tweaks
* fix: ui tweaks
* fix: migration with loop
* chore: generate
* chore: remove unused fn
* feat: add worker id index on slot
* chore: rm unused fn
* fix: typo
* feat: optimized query
* chore: generate all
* chore: collapse migration
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2024-06-04 07:56:29 -07:00
Gabe Ruttner
207f1bbb08
feat: default email alert group ( #547 )
...
* feat: add next alert column
* feat: add notification templates
* feat: add poll token ticker
* fix: expiring 7 days
* fix: no expired tokens
* fix: subject string
* fix: message string
* fix: slack format
* feat: add config columns
* feat: expose api
* feat: update alerter opts
* feat: update ui
* chore: ui tweaks
* fix: ui tweaks
* Update internal/repository/tenant_alerting.go
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
* chore: comment
* fix: split emails
* fix: commit context
---------
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
2024-06-03 12:30:46 -04:00
abelanger5
e94d60538c
fix: old Listen endpoint not setting worker to active ( #534 )
...
* fix: remove active checks from sdk
* fix: add back isActive check
2024-05-28 11:37:47 -04:00
Gabe Ruttner
b067744149
feat: delete tenant member ui ( #518 )
...
* feat: delete user ui
* fix: review feedback
* chore: generic confirm
* chore: generate
2024-05-23 06:43:11 -07:00
Gabe Ruttner
1b607713e3
fix: worker active bug ( #517 )
...
* fix: only update most recent session
* feat: listener connect visibility
* fix: lint warning
2024-05-21 18:38:57 -04:00
abelanger5
0dd38e45f4
feat: make step run replays more intuitive ( #507 )
...
* feat: make step run replays more intuitive
* fix: npmrc file for vercel pnpm version diff
* fix: address changes from PR review
2024-05-17 17:32:15 -04:00
Gabe Ruttner
e6617e1381
feat: refresh timeout ( #495 )
...
* feat: show timeout on step run
* feat: refresh timeout
* fix: increment timeout from last time
* feat: add step run event for timeout refresh
* chore: generate
* feat: add refreshing timeouts docs section
* chore: linting
* feat: go client
* chore: generate
* chore: generate
* fix: test context
* chore: generate
* fix: rm txn
* fix: validator
* chore: lint
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2024-05-16 12:23:36 -04:00
Gabe Ruttner
a37ee57cc1
feat: workflow run cancel ( #489 )
...
* feat: workflow run cancel endpoint
* feat: cancel all running button
* feat: select and cancel runs
* chore: error handling
* fix: remove ani
* fix: error toast
* chore: gen
* fix: feedback
* fix: redundant method
* Update frontend/app/src/pages/main/workflow-runs/$run/index.tsx
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
* fix: response obj
* fix: cancel by job run
* fix: lint
* chore: generate
---------
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2024-05-14 17:47:30 -04:00
Gabe Ruttner
b728616161
feat: improve reassign and timeout behavior and visibility ( #484 )
...
* feat: create step run event
* fix: shorten reassign heartbeat
* feat: add reassign event
* feat: fail timeout instead of cancel
* chore: squash migration
* chore: clarify copy
* docs: improve timeouts doc
* chore: linting
* chore: generate
* fix: test
* fix: send cancellation signal on timeout failure
* fix: rm retry check
* chore: update migration for release
---------
Co-authored-by: Alexander Belanger <belanger@sas.upenn.edu >
2024-05-14 16:47:00 -04:00
Gabe Ruttner
48d06b931a
feat: client releasable slots ( #476 )
...
* feat: add release slot proto
* feat: add semaphore release state and methods
* feat: go sdk and example
* docs: manual slot release
* chore: linting
* fix: broken test
* fix: unlink step run on manual release
* feat: release slot event
* fix: test
* fix: revert e2e test changes
* chore: remove debug line
* fix: place step run query in same tx
* fix: change migration release version
---------
Co-authored-by: Alexander Belanger <belanger@sas.upenn.edu >
2024-05-14 15:22:46 -04:00
Gabe Ruttner
8b392e30ea
feat: workflow configuration view ( #491 )
...
* feat: add cron and schedule timeout to config
* feat: interpreted cron
---------
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
2024-05-13 18:05:04 -04:00
abelanger5
1a8f1d8cab
feat: events view for step runs ( #479 )
...
* feat: events view for step runs
* chore: regen migration
* chore: address pr review changes
2024-05-09 18:25:23 -04:00
abelanger5
7e70ddee93
fix: handle last alerted null case + some logging/cleanup improvements ( #468 )
2024-05-08 19:36:13 -04:00
abelanger5
b50ed62924
feat: alerting from slack and email ( #461 )
...
* feat: alerting. implements slack alerting, email, and refactors tenant settings to make them more manageable
* chore: generate
* chore: generate sqlc after migrate
2024-05-08 10:04:58 -04:00
Gabe Ruttner
67b7dc522c
fix: report slot count from semaphore ( #459 )
2024-05-07 15:36:11 -07: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
Gabe Ruttner
2b910a89de
feat: improved optional product analytics ( #452 )
...
* feat: add fe posthog config
* feat: add fe posthog to metadata endpoint
* feat: dynamically load ph on fe
* feat: add analyticsOptOut to tenant db
* feat: respect opt out
* feat: update tenant settings
* feat: mask all text
2024-05-05 18:14:27 -04:00
abelanger5
f71f17f5f7
fix: semaphores increasing on manual replays ( #441 )
...
* fix: semaphores increasing on manual replays
* chore: remove metrics queries
2024-05-01 14:05:39 -04:00
Gabe Ruttner
81824cd3c7
feat: in app support ( #433 )
...
* feat: add pylon config
* feat: expose pylon app id in meta
* feat: expose hashed user email
* feat: update contracts
* fix: optional security
* feat: pylon support chat
* chore: rm debug ln
2024-04-30 16:10:16 -04:00
abelanger5
08494db1b6
feat: send emails from postmark ( #434 )
2024-04-30 15:49:58 -04:00
abelanger5
8768e889c1
fix: small UI changes for metrics view and remove worker status ( #432 )
...
* fix: small UI changes
* fix: remove all references to worker status
2024-04-30 12:58:19 -04:00
Gabe Ruttner
1b79c09c94
Feat improved visibility ( #425 )
...
* feat: expose worker state
* feat: improved worker list and details
* fix: child workflow run refresh
* feat: workflow run metrics
* fix: line breaks in errors
* chore: generate
* fix: review requests
* chore: fix protoc version
2024-04-26 07:33:53 -07:00
abelanger5
1a4c6eebee
fix: health check improvements ( #399 )
...
* fix: health check improvements
* fix: panic on dispatcher task cancelled
2024-04-19 16:36:29 -04:00
abelanger5
4ce1dd8632
feat: multi-workflow runs listener on a single endpoint
...
* new api-contract for workflow run events
* feat: initial implementation for new subscribe listener
* fix: sync issues and send workflow runs immediately
* refactor: add context to all engine db queries, fix deadlocking query
* fix: use new ctx for deleting dispatcher and ticker
* add cancellation reasons
* fix: docs linting
---------
Co-authored-by: gabriel ruttner <gabriel.ruttner@gmail.com >
2024-04-18 20:55:11 -04:00
Gabe Ruttner
eb23e6916d
feat: improved lists ( #383 )
...
* fix: only close sm
* chore: linting
* feat: filter by workflow run status
* feat: radio filter
* feat: filter run by workflow
* fix: rm unused status
* chore: rm comment
* chore: refactor workflow run table
* fix: visibility state
* feat: visibility and reload
* chore: linting
* chore: shared table component
* chore: linting
* chore: clarify nav
* feat: link to workflow dfn
* chore: share workflow run table
* chore: linting
* wip: parent link
* feat: data table card rendering
* feat: expose manual table control
* feat: data table workflow list
* feat: workflow list actions
* feat: worker actions
* fix: toolbar for any option
* fix: rm search
* fix: rm bad filter func
* chore: linting
* fix: link card title
* fix: rm updated at for now
* fix: gen
2024-04-18 13:35:02 -07:00
Abhiuday Gupta
c8a79aabf3
chore(format): added pre-commit hooks and formatted files ( #294 )
...
Co-authored-by: steebchen <contact@luca-steeb.com >
2024-04-16 22:19:21 +04:00
Luca Steeb
181a8e48aa
fix(auth): improve error messages in auth ( #367 )
2024-04-15 14:31:03 +07:00
Gabe Ruttner
ca68eee45c
feat(api): posthog telemetry ( #374 )
...
* feat: add posthog dep
* feat: posthog analytics
* feat: user events
* fix: nil tenant
* feat: tenant ident
* chore: linting
* Update pkg/analytics/posthog/posthog.go
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
* fix: typo
---------
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
2024-04-12 06:16:14 -07:00
abelanger5
f16a9cd0dc
feat: add github sso to dashboard ( #373 )
2024-04-11 15:32:12 -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
334ce758ec
feat: queued metrics, along with bug fixes for round robin queueing ( #340 )
2024-04-04 17:45:10 -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
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
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
Luca Steeb
d91a8d7bc3
fix: handle inefficient assignments ( #263 )
2024-03-16 17:09:35 +07: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
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
Luca Steeb
78962596aa
fix(engine): do not panic on regular exit ( #242 )
2024-03-08 14:46:56 +07:00
abelanger5
38688adce5
feat: sns integrations from frontend ( #249 )
2024-03-07 18:52:08 -05: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
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
Luca Steeb
9b68115fb5
refactor: cleanup functions in api + worker ( #192 )
2024-03-02 00:37:02 +07:00
Luca Steeb
4bd1b6f2ec
feat(api): add healthcheck routes ( #191 )
2024-03-01 23:48:10 +07: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