* WIP job run performance improvements
- Added a `perf` tool to better measure job run performance under heavy load
- Removed `runFinished` job (not really needed)
- startQueuedRuns now uses a jobKey with replace
- Fixed an issue with ZodWorker when using jobKey
* Publish improvement docker images
* fixed the improvement docker publishing
* Downgrade back to prisma 4.16.0 because 5.1.x broke docker builds
* Changes to how queued runs work
- Split the worker into two different workers, one dedicated to performRunExecution
- Schedule performRunExecution in a single place, with a queue and using a round robin manually controlled concurrency
- Remove startQueuedRuns
- All runs are queued before they are started
- Setting the worker maxPoolSize to the same as the worker concurrency
- Starting to be able to split the docker image
* Remove queue name from startRun graphile job
* Make the prisma connection pool stuff configurable through env vars
* Hardcode (for now) the max concurrent runs limit
* Rewrite performRunExecution to be more performant
PerformRunExecutionV2:
- Does not create and manage jobRunExecution records
- Does not reimplement retrying, uses graphile worker retrying instead
I’ve kept around PerformRunExecutionV1 so this works when deploying. Definitely needs LOTS of testing
* Fix issues with cached tasks
- Limit the size of the cached tasks sent when executing a run, using the knapsack problem dynamic programming approach
- Actually USE the cached tasks in IO by using the idempotencyKey instead of the task ID
- Remove output from all logs
- Added a stress test job catalog
* Forgot to commit the logger updates
* Never log connectionString
* Login to docker hub to get around rate limits
* Add additional logging to the graphile workers
* Fix the *_ENABLED env vars
* Allow adding and removing jobs to be done from the webapp
* Don’t set the job to failed if it’s being retried
* Deprecated queue options in the job and removed startPosition. Now using the job/env combo as the job queue name
* Dequeung jobs doesn’t check if the runner is initialized
* Fixed issues with retrying a run getting stuck on a cancelled task, and errors from parsing the results of dequeing a job
* Remove queued round robin thing that isn’t used anymore
* Added slack to job catalog
* Better forwards compat
* Added long delay
* Fixed lock file
* chore: update prisma from version 4.16.0 to 5.1.0
* fixed the ts-errors due to the prisma update
---------
Co-authored-by: Matt Aitken <matt@mattaitken.com>
* Only show the Example Jobs list when you have 1 job
* Updated the logic for displaying the different information depending on the no. of jobs you have
* Removed some unnecessary markup
* Clicking on a radio option toggles the content
* Improved the centering of the help panel
* Conetent updates to the 2 onboarding paths
* Added a prompt so you click through to run your job
* More content updates to the help panel
* Only show the prompt if the Job has never been run
* Added back in the help panel which shows the examples table if you have > 0 jobs
* Added a dialog for the I am Stuck button
* Added the new ‘new-next-app’ text for the cli command
* Refactored the ternary logic so it’s simpler
* Removed I’m stuck button and cleaned up imports
* Added in feedback button
* Added margin bottom to the Callout on the Test popover
* WIP adding a new radio button variant that takes an icon
* Added a new step to create a new next app
* The state of the tabs is stored as a URL param
* Small shadow tweak to the side panel
* Added a Discord button to the feedback menu
* Added new icons to the Named icons component
* Added a gradient to the background of the jobs page
* Made the icons take on color outside of component
* Added another NamedIcon for tree
* Fixed number
* Improved some of the typography styles
* Updated the icons
* Fixed issue with radio buttons alignment
* Added a missing step to the new next app onboarding
* Refactored example code and added all the examples to the panel
* Small icon update
* Made the title white again
* Added an icon to the storybook radiogroup
* Added a badges storybook
* Chevron table cell now takes children
* import cleanup
* Changed the background image from an arbirary value to an import
* Added a NEW badge which shows if you have a new job
* Improved the copy on the Examples help panel and updated some of the layout
* Removed defaultOpen on the help panel
* Stop the icons getting smaller
---------
Co-authored-by: D-K-P <dkp.github@pm.me>
* Fix:[TRI-879]-Hides help panel when endpoints exists on the Environments & API Keys page
* fix: adds check for fully configured client
g
---------
Co-authored-by: Crossover <crossover@MacBook-Pro.local>
* Created the sheet
* Started work on the resource route
* Created ValidateCreateEndpointService and the EndpointValidateApi (name TBC)
* The TriggerClient responds with the id
* Tidied some stuff up
* Alternative: EndpointApi doesn’t take endpointSlug. Instead just Ping() does
* Create cool-snakes-deny.md
---------
Co-authored-by: Eric Allam <eallam@icloud.com>
* Basic CLI telemetry
* Telemetry for init command
* Better error handling
* Fix for “Module not found: Can't resolve 'encoding' in” node-fetch warning
* Telemetry for dev and tidied up init
* Minor improvements to the telemetry
* Latest package lock file
* Set the PostHog key to the prod one
* Changesets
* Formatted
* Setup project-wide prettier
* Remove old workspace file
* Remove old debugging directives
* New top-level .prettierignore
* Updated Prettier config settings
* Contrubuting guide: Fix for some bad code blocks
* Added more ignores
* Improved the format script command
* printWidth set to 100
* Formatted entire repo (pnpm run format)
* Changeset should ignore the example projects
* Removed note in Contributing instructions about not adding a changeset for internal
* Renamed @trigger.dev/internal to @trigger.dev/core. Set sdk and internal to be ES2020, so we don’t get errors about private identifiers
* Env vars in nextjs-example use square bracket syntax to avoid Turbo Repo errors
* Set the tsconfigs back for core and sdk
* @examples/nextjs compile error with undefined tasks
* Set the example projects to use ES2015 to avoid private modifier complaints
* package-tester example, which will use built packages
* package-tester package.json
* Created a readme for the package-tester
* Added all the packages to package-tester
* Create .env.local.example and readme instructions
* Added name to the package.json
* Upgraded @types/react and @types/react-dom everywhrre, so we can use server actions
* Upgraded @types/react and @types/react-dom everywhrre, so we can use server actions
* Reworked the react package build, so it generates separate files
* The SDK no longer bundles core
* package-tester setup with a server action and react hooks
* Added new SDK methods with logging
* Working tsup settings for client and server
* Explicit react hooks return types
* Added all the hooks for testing
* Added OpenAI step to the job to check types are still ok in integrations
* Get rid of rogue Changeset ignores
* Changeset: @trigger.dev/core is now a separate package
* Exited prerelease mode, added a changeset
* Changed @next to @latest
* Deleted seed.js, this shouldn’t be committed
* Ignore seed.js
* The webapp was importing @trigger.dev/core with a folder path rather package name…
* More webapp imports instead of @trigger.dev/core were a folder path
* Accidentally edited Stripe internal API url in the comment
* Added “sideEffects”: false so @trigger.dev/core is tree shaken by Remix