From afe7f410c785777f1d0cf3d0992f2c5259ec7a70 Mon Sep 17 00:00:00 2001 From: Matt Aitken Date: Tue, 2 Apr 2024 14:32:28 +0100 Subject: [PATCH] v3 docs improvements (#993) * WIP on adding versioning to the docs to make it less confusing * Link to v3 from v2 and vice versa. Also added a warning to the v2 docs * Make v3 the default * Trigger config docs about bundling * Next stpe to triggering guide from tasks overview * Server actions guidance for triggering * Moved the trigger.config docs to the end of fundamentals --- docs/documentation/introduction.mdx | 6 +- docs/images/v3/auto-instrumentation.png | Bin 0 -> 107960 bytes docs/mint.json | 43 ++++++-- docs/v3/errors-retrying.mdx | 4 +- docs/v3/logging.mdx | 12 ++- docs/v3/reference-trigger-config.mdx | 7 -- docs/v3/tasks-overview.mdx | 3 + docs/v3/trigger-config.mdx | 127 ++++++++++++++++++++++++ docs/v3/trigger-folder.mdx | 4 +- docs/v3/triggering.mdx | 70 +++++++++++++ 10 files changed, 251 insertions(+), 25 deletions(-) create mode 100644 docs/images/v3/auto-instrumentation.png delete mode 100644 docs/v3/reference-trigger-config.mdx create mode 100644 docs/v3/trigger-config.mdx diff --git a/docs/documentation/introduction.mdx b/docs/documentation/introduction.mdx index be3b2ddf7..7184f1513 100644 --- a/docs/documentation/introduction.mdx +++ b/docs/documentation/introduction.mdx @@ -1,9 +1,11 @@ --- -title: "Getting Started: Introduction" +title: "v2: Introduction" sidebarTitle: "Introduction" -description: "Welcome to the Trigger.dev documentation." +description: "Welcome to the Trigger.dev (v2) documentation." --- +These are the docs for Trigger.dev v2. You probably want [the v3 docs](/v3). + Trigger.dev is an open source framework for creating long-running Jobs directly in your app with API Integrations, webhooks, scheduling and delays. You can reliably run Jobs that wouldn't normally work in serverless environments (like Vercel) because of timeouts. You can use [Trigger.dev Cloud](https://cloud.trigger.dev) or [Self-host Trigger.dev](/documentation/guides/self-hosting) on your own infrastructure. diff --git a/docs/images/v3/auto-instrumentation.png b/docs/images/v3/auto-instrumentation.png new file mode 100644 index 0000000000000000000000000000000000000000..cb3632dd27566ed4a7ba93d9b6569b682dbc6751 GIT binary patch literal 107960 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%0D2z8+CngIWzTW}3@O0P+SJ&<*VaEU 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

-JV2T1oZvFVmPALf~pa)^|ae(M*=qEV_ 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/*M1Hk5YYJL5M#M?Ysx8`)-EBJm z=pB#e!{U#>(_*0kk}A>PEUx!L(EmHMLg)?_*;qIfk`L>4Y_k77Nj412Z!IPfj8Jrz zjA26l4E5i>_<`YYRn#H-HjiV{hN%Cnm49rYvca!=WmK8Y#A*7Dk&XAipL{R!b9;Tq zbHAp~CjH-q`wUr9bd11c-Vy&FHAOr7HUI<3oVN)M`|l>TL93<&CaCZGMBowqneu;&Ts^UO0s%?=DuHZDJ3jgt!Q)^#yh8WCS!Tf9N7N7}%LR*xUCDWdNS&0E0by~OZ|EJ~w zv}#~Hw5csP36Jz&^F;=-MR{r*j>PzDz<-Ul1+j=3wvK1t_X8fuziSzOssY;a)HwC; zifKSaiDz{@Hb70{f7i@%QUB<9-D`+P@!w@|)4)Y)M3gh6?1(w=Uz243#cmpupnkt$ z#wPzS3t?DRgixj|`@d~jyfZ&eIj!5?j_dh9ceX!!XlD;33PbHG`JmAn-{8pq-dF+W z7Xd_)NR2vhNEmuB%lf+{|61O(MrU$028c7n$DaA+znTk%B1B0_1orxF@FDlhe|>K| fWNPgy!ZjGKomWa4&5!RH@J~uiUbOtRVZi?bO;@~N literal 0 HcmV?d00001 diff --git a/docs/mint.json b/docs/mint.json index 96c72e6b4..2edc86f2b 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -2,6 +2,7 @@ "$schema": "https://mintlify.com/schema.json", "name": "Trigger.dev", "openapi": ["/openapi.yml"], + "versions": ["v3 (Developer Preview)", "v2"], "logo": { "dark": "/logo/dark.png", "light": "/logo/light.png", @@ -37,22 +38,34 @@ "url": "https://discord.gg/kA47vcd8P6" } ], + "primaryTab": { + "name": "Home" + }, "tabs": [ { "name": "Integrations", - "url": "integrations" + "url": "integrations", + "version": "v2" }, { "name": "Reference", - "url": "sdk" + "url": "sdk", + "version": "v2" }, { "name": "Examples", - "url": "https://trigger.dev/apis" + "url": "https://trigger.dev/apis", + "version": "v2" }, { "name": "v3 Developer Preview", - "url": "v3" + "url": "https://trigger.dev/docs/v3", + "version": "v2" + }, + { + "name": "v2", + "url": "https://trigger.dev/docs", + "version": "v3 (Developer Preview)" } ], "redirects": [ @@ -76,6 +89,7 @@ "navigation": [ { "group": "Getting Started", + "version": "v2", "pages": [ "documentation/introduction", { @@ -107,6 +121,7 @@ }, { "group": "Concepts", + "version": "v2", "pages": [ "documentation/concepts/what-is-triggerdotdev", "documentation/concepts/limits", @@ -142,6 +157,7 @@ }, { "group": "Guides", + "version": "v2", "pages": [ { "group": "Frameworks", @@ -226,6 +242,7 @@ }, { "group": "Community & Support", + "version": "v2", "pages": [ "documentation/get-help", "documentation/faq", @@ -430,14 +447,17 @@ }, { "group": "Overview", + "version": "v2", "pages": ["examples/introduction"] }, { "group": "", + "version": "v3 (Developer Preview)", "pages": ["v3/introduction"] }, { "group": "Getting Started", + "version": "v3 (Developer Preview)", "pages": [ "v3/quick-start", "v3/upgrading-from-v2", @@ -448,6 +468,7 @@ }, { "group": "Fundamentals", + "version": "v3 (Developer Preview)", "pages": [ "v3/trigger-folder", "v3/tasks-overview", @@ -456,15 +477,18 @@ { "group": "Task types", "pages": ["v3/tasks-regular", "v3/tasks-scheduled", "v3/tasks-zod", "v3/tasks-webhooks"] - } + }, + "v3/trigger-config" ] }, { "group": "Development", + "version": "v3 (Developer Preview)", "pages": ["v3/cli-dev", "v3/run-tests"] }, { "group": "Deployment", + "version": "v3 (Developer Preview)", "pages": [ "v3/deploy-environment-variables", "v3/cli-deploy", @@ -477,6 +501,7 @@ }, { "group": "Writing tasks", + "version": "v3 (Developer Preview)", "pages": [ "v3/writing-tasks-introduction", "v3/logging", @@ -506,6 +531,7 @@ }, { "group": "Dashboard", + "version": "v3 (Developer Preview)", "pages": [ "v3/dashboard-overview", "v3/dashboard-runs", @@ -515,6 +541,7 @@ }, { "group": "API reference", + "version": "v3 (Developer Preview)", "pages": [ { "group": "Functions", @@ -558,12 +585,12 @@ "v3/reference-cli-build", "v3/reference-cli-who-am-i" ] - }, - "v3/reference-trigger-config" + } ] }, { "group": "Architecture", + "version": "v3 (Developer Preview)", "pages": [ "v3/architecture-how-it-works", "v3/architecture-multi-tenant-queue", @@ -572,10 +599,12 @@ }, { "group": "Open source", + "version": "v3 (Developer Preview)", "pages": ["v3/github-repo", "v3/open-source-self-hosting", "v3/open-source-contributing"] }, { "group": "Help", + "version": "v3 (Developer Preview)", "pages": [ "v3/help-faqs", "v3/community", diff --git a/docs/v3/errors-retrying.mdx b/docs/v3/errors-retrying.mdx index 91cdf3888..5d5ac4c46 100644 --- a/docs/v3/errors-retrying.mdx +++ b/docs/v3/errors-retrying.mdx @@ -7,12 +7,12 @@ When an uncaught error is thrown inside your task, that task attempt will fail. You can configure retrying in two ways: -1. In your [trigger.config file](/v3/reference-trigger-config) you can set the default retrying behavior for all tasks. +1. In your [trigger.config file](/v3/trigger-config) you can set the default retrying behavior for all tasks. 2. On each task you can set the retrying behavior. By default when you create your project using the CLI init command we disabled retrying in the DEV - environment. You can enable it in your [trigger.config file](/v3/reference-trigger-config). + environment. You can enable it in your [trigger.config file](/v3/trigger-config). ## A simple example with OpenAI diff --git a/docs/v3/logging.mdx b/docs/v3/logging.mdx index a730040c5..9fefafdd5 100644 --- a/docs/v3/logging.mdx +++ b/docs/v3/logging.mdx @@ -38,18 +38,20 @@ Tracing is a way to follow the flow of your code. It's very useful for debugging Trigger.dev uses OpenTelemetry tracing under the hood. With automatic tracing for many things like task triggering, task attempts, HTTP requests, and more. -### Automatic instrumentation - | Name | Description | | ------------- | -------------------------------- | | Task triggers | Task triggers. | | Task attempts | Task attempts. | | HTTP requests | HTTP requests made by your code. | -| OpenAI | OpenAI SDK calls. | -We want to provide automatic instrumentation for as many things as possible. Please do [request any automatic instrumentation](https://github.com/triggerdotdev/trigger.dev/issues/new?template=instrumentation_request.yml) you would like to see. +### Adding instrumentations -## Add custom traces +![The run log + ](/images/v3/auto-instrumentation.png) + +You can [add instrumentations](/v3/trigger-config#instrumentations). The Prisma one above will automatically trace all Prisma queries. + +### Add custom traces If you want to add custom traces to your code, you can use the `logger.trace` function. It will create a new OTEL trace and you can set attributes on it. diff --git a/docs/v3/reference-trigger-config.mdx b/docs/v3/reference-trigger-config.mdx deleted file mode 100644 index 540a356db..000000000 --- a/docs/v3/reference-trigger-config.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "The trigger.config.js file" -sidebarTitle: "trigger.config file" -description: "This file is used to configure some settings for your project." ---- - - diff --git a/docs/v3/tasks-overview.mdx b/docs/v3/tasks-overview.mdx index 9a4715c8e..b48be1203 100644 --- a/docs/v3/tasks-overview.mdx +++ b/docs/v3/tasks-overview.mdx @@ -149,6 +149,9 @@ When a task attempt fails, the `onError` function is called. It's useful for sen ## Next steps + + Learn how to trigger your tasks from your code. + Tasks are the core of Trigger.dev. Learn how to write them. diff --git a/docs/v3/trigger-config.mdx b/docs/v3/trigger-config.mdx new file mode 100644 index 000000000..c88a63a42 --- /dev/null +++ b/docs/v3/trigger-config.mdx @@ -0,0 +1,127 @@ +--- +title: "The trigger.config.ts file" +sidebarTitle: "trigger.config file" +description: "This file is used to configure your project and how it's bundled." +--- + +Let's take a look at a basic `trigger.config.ts` file. This is generated for you when you follow [the quick start guide](/v3/quick-start). This file is used to configure your project and how it's bundled. + +```ts trigger.config.ts +import type { TriggerConfig } from "@trigger.dev/sdk/v3"; + +export const config: TriggerConfig = { + //Your project ref (you can see it on the Project settings page in the dashboard) + project: "proj_gtcwttqhhtlasxgfuhxs", + retries: { + //If you want to retry a task in dev mode (when using the CLI) + enabledInDev: false, + //the default retry settings. Used if you don't specify on a task. + default: { + maxAttempts: 3, + minTimeoutInMs: 1000, + maxTimeoutInMs: 10000, + factor: 2, + randomize: true, + }, + }, + //The paths for your trigger folders + triggerDirectories: ["./trigger"], +}; +``` + +Most of the time you don't need to change anything in this file, or if you do then we will tell you when you the run the CLI command. + +## Instrumentations + +We use OpenTelemetry (OTEL) for our run logs. This means you get a lot of information about your tasks with no effort. But you probably want to add more information to your logs. For example, here's all the Prisma calls automatically logged: + +![The run log + ](/images/v3/auto-instrumentation.png) + +Here we add Prisma and OpenAI instrumentations to your `trigger.config.ts` file. + +```ts trigger.config.ts +import type { TriggerConfig } from "@trigger.dev/sdk/v3"; +import { PrismaInstrumentation } from "@prisma/instrumentation"; +import { OpenAIInstrumentation } from "@traceloop/instrumentation-openai"; + +export const config: TriggerConfig = { + //..other stuff + instrumentations: [new PrismaInstrumentation(), new OpenAIInstrumentation()], +}; +``` + +## ESM-only packages + +We'll let you know when run the CLI dev command if this is a problem. Some packages are ESM-only so they don't work directly from CJS when using Node.js. In that case you need to add them to the `dependenciesToBundle` array in your `trigger.config.ts` file. + +```ts trigger.config.ts +import type { TriggerConfig } from "@trigger.dev/sdk/v3"; + +export const config: TriggerConfig = { + //..other stuff + //either regex or strings of package names + dependenciesToBundle: [/@sindresorhus/, "escape-string-regexp"], +}; +``` + +## Prisma (and other generators) + + + +```bash +✘ [ERROR] Error: @prisma/client did not initialize yet. Please run "prisma generate" and try to import it again. + +In case this error is unexpected for you, please report it in +https://pris.ly/prisma-prisma-bug-report +at new PrismaClient (/app/node_modules/.prisma/client/default.js:43:11) +at Object. (/lib/prisma.ts:7:33) +at Module.\_compile (node:internal/modules/cjs/loader:1356:14) +at Object.Module.\_extensions..js (node:internal/modules/cjs/loader:1414:10) +at Module.load (node:internal/modules/cjs/loader:1197:32) +at Function.Module.\_load (node:internal/modules/cjs/loader:1013:12) +at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:128:12) +at node:internal/main/run_main_module:28:49 +``` + + + +Prisma works by generating a client from your `prisma.schema` file. This means you need to do a couple of things to get it to work with Trigger: + + + + + + ```json + { + "scripts": { + "postinstall": "prisma generate" + } + } + ``` + + Anything you put in `postinstall` will be run as part of the install step. This is how Next.js recommends you set up Prisma anyway. + + + + + + ```ts trigger.config.ts + import type { TriggerConfig } from "@trigger.dev/sdk/v3"; + + export const config: TriggerConfig = { + //..other stuff + additionalFiles: ["./prisma/schema.prisma"], + additionalPackages: ["prisma@5.11.0"], + }; + ``` + + This tells Trigger to bundle the Prisma client and the schema file. + + + + + +## Troubleshooting + +If you have an issue with bundling let us know on [Discord](https://trigger.dev/discord) or [via email](https://trigger.dev/contact). diff --git a/docs/v3/trigger-folder.mdx b/docs/v3/trigger-folder.mdx index 98c2eaf89..89e146651 100644 --- a/docs/v3/trigger-folder.mdx +++ b/docs/v3/trigger-folder.mdx @@ -11,7 +11,7 @@ We automatically bundle everything for your tasks. This includes: - Imported npm packages. - Other imports from your code. -This means you shouldn't need to think about what gets bundled. Just write your tasks and we'll take care of the rest. +Mostly this means you shouldn't need to think about what gets bundled. Just write your tasks and we'll take care of the rest. If you need to alter the bundling you use the [trigger.config file](/v3/trigger-config). ## Multiple `/trigger` folders @@ -22,4 +22,4 @@ You can have multiple `/trigger` folders in your repository. ### (Optional) configuration -It is possible to manually set one or more folders as `/trigger` folders in your `trigger.config` file. View the [trigger.config documentation](/v3/referece-trigger-config) for more information. +It is possible to manually set one or more folders as `/trigger` folders in your [trigger.config file](/v3/trigger-config). diff --git a/docs/v3/triggering.mdx b/docs/v3/triggering.mdx index 4a0d951c1..fc96ffde9 100644 --- a/docs/v3/triggering.mdx +++ b/docs/v3/triggering.mdx @@ -23,6 +23,8 @@ You can trigger any task from your backend code, using either `trigger()` or `ba Trigger.dev API key to the world. +You can use Next.js Server Actions but [you need to be careful with bundling](#next-js-server-actions). + ### Authentication When you trigger a task from your backend code, you need to set the `TRIGGER_SECRET_KEY` environment variable. You can find the value on the API keys page in the Trigger.dev dashboard. [More info on API keys](/v3/apikeys). @@ -188,3 +190,71 @@ export const batchParentTask = task({ }, }); ``` + +## Next.js Server Actions + +Server Actions allow you to call your backend code without creating API routes. This is very useful for triggering tasks but you need to be careful you don't accidentally bundle the Trigger.dev SDK into your frontend code. + +If you see an error like this then you've bundled `@trigger.dev/sdk` into your frontend code: + +```bash +Module build failed: UnhandledSchemeError: Reading from "node:crypto" is not handled by plugins (Unhandled scheme). +Module build failed: UnhandledSchemeError: Reading from "node:process" is not handled by plugins (Unhandled scheme). +Webpack supports "data:" and "file:" URIs by default. +You may need an additional plugin to handle "node:" URIs. +``` + +When you use server actions that use `@trigger.dev/sdk`: + +- The file can't have any React components in it. +- The file should have `"use server"` on the first line. + +Here's an example of how to do it with a component that calls the server action and the actions file: + + + +```tsx app/page.tsx +"use client"; + +import { create } from "@/app/actions"; + +export default function Home() { + return ( +
+ +
+ ); +} +``` + +```tsx app/actions.ts +"use server"; + +import { createAvatar } from "@/trigger/create-avatar"; + +export async function create() { + try { + const handle = await createAvatar.trigger({ + payload: { + userImage: "http://...", + }, + }); + + return { handle }; + } catch (error) { + console.error(error); + return { + error: "something went wrong", + }; + } +} +``` + +