* feat: add parent task external id to api for workflow run
* feat: wire up parent ids
* feat: custom go type for non-null json
* feat: gen
* feat: send action ids back over the api
* fix: lint
* wip: api contracts
* feat: implement put workflow version endpoint
* add support for match existing data, get scaffolding in place for additional triggers
* create additional matches
* feat: durable sleep, user event matching
* update protos
* fix: working poc of user events, durable sleep
* add migration
* fix: migration column
* feat: durable event listener
* fix: skip overrides
* fix: input -> output
* wip: backoff state
* fix: retry state and step run start condition
* fix: missing key
* fix: gen
* chore: squash migration
* chore: rm todos
* ops: upgrade proto
* add a bunch of default headers
* add a check on the emails so we don't resend if we have a valid invite in future
* lets people invite for a new role
* add in some logging so we have more visibility on what is hapening here
* Add a limit to the number of pending invites a user can have. Add comments for the various headers
* adding a /version endpoint for the engine and a /api/v1/version endpoint for the API
* make the security optional so we don't get redirected for having auth
* lint
* upgrade protoc to the latest available version on brew
* use useQuery and clean up html
* add a monitoring probe
* add in untracked files
* don't need the security thing
* revert this change
* go generate
* remove the namespace stuff
* cleanup
* clean up workflow afterwards, turn off logs for client and worker wait for tasks to finish so we don't cause errors
* clean up workflow afterwards, turn off logs for client and worker wait for tasks to finish so we don't cause errors
* extend the delay a little
* use the tenant from the authed token
* remove static field
* PR feedback add polling for workflow state before deletion, check the step runs finish in the right order
* PR review comments
* tweak the timeout so we don't see errors in dev and fix description
* fix the open api build
* modify return type, return if we delete or do it 10 times, 10 second timeout for deletion attempts
---------
Co-authored-by: Sean Reilly <sean@hatchet.run>
* add some more detail to the list worklflow API endpoint and add pagination and a search function to the frontend that searches the workflow names
* switch
* remove the column filter stuff
* cleanup
* lint and clean up query
* fix linter warning
---------
Co-authored-by: Sean Reilly <sean@hatchet.run>
* feat(go-sdk): cron and schedules API, minor fixes
* try to improve code block and docs
* revert pre-commit
* fix: generate
* fix: put overflow in right place
* remove branch specs
* add multiple rate limiter in grpc using a token bucket
* PR feedback
* add in client retry for go client
* update test files
* remove log line only retry on ResourceExhausted and Unavailable
* add some concurrency limits so we don't swamp ourselves
* add some logging for when we are getting backed up
* lets not queue up when we are too full to prevent OOM problems
* fix spelling
* add config options for maximum concurrent and how long to wait for flush , let the wait for flush setting be used as back pressure and a signal to writers that we are slowing up
* lots of changes to buffering
* fix data race
* add some comments explaing how this works, change errors to be ResourceExhausted now that we have client retry and limit how many gofuncs we can create on cleanup and wait for them to finish before we exit
* hooking up the config values so they go to the right place
* Update config.go to default to 1 ms waitForFlush
* disable grpc_retry for client streams
* explicitly set the limit if it is 0
* weirdness because we were using an older version of the lib
---------
Co-authored-by: Sean Reilly <sean@hatchet.run>
Co-authored-by: Alexander Belanger <alexander@hatchet.run>
* feat: runtime signature
* feat: add sdk runtime to worker model
* feat: post runtime
* feat: expose sdk version on worker
* feat: go inf
* chore: gen
* chore: migrations and generation
* fix: simpler runtime
* feat: hatchet sdk ver
* fix: rm debug line
* feat: add callbacks for workflow run completed
* add tenant id to resolve row
* add finishedBefore, finishedAfter to workflow runs query
* add more callbacks
* feat: tenant ids and loggers in callback
* feat: workflow run metrics frontend
* fix: frontend build
* fix: trunc large payloads
* lets send the stepRuns and steps with output back on the WorkflowRunGet
* fix: times
* fix: rm unsafe
* rename to GetStepRunsForJobRunsWithOutput so we know we might potentially be getting a very large result set
---------
Co-authored-by: Sean Reilly <sean@hatchet.run>
* progress commit of bulk inserts
* in_flight: Add changes to metering finish the bulk insert
* remove an attempt to overide enforce limits
* merge in PR fixes
* update docs to add in an additional section in the User guide to describe pushing single events and pushing multiple events
* run lint fix
---------
Co-authored-by: Sean Reilly <sean@hatchet.run>
* Add endpoint to get the total free worker slots for a worker and the max runs
* update to use WorkerSempahoreCount instead of checking stepRunId
* modify the query for the new table and change the interface
* bump golangci-lint make changes to name of returned data
* revert the simple example
---------
Co-authored-by: Sean Reilly <sean@hatchet.run>
* fix: filter by event id
* fix: run count
* feat: filter by id api
* feat: filter by Event Id
* chore: default page is runs
* feat: cancel event runs
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run>
* fix: add back sem slots, without row contention
* fix: serialize queue step runs to prevent dirty reads
* remove serializable for now
* statement timeouts on create workflow run
* statement timeout for reassign
* proper migration + cleanup
* remove old tables and code
* fix: worker slot state
* remove last unused table from workers