Files
triggerdotdev--trigger.dev/docs/mint.json
T
Eric Allam 044d38e390 Improvement: Auto Execution Yielding (#612)
* Auto-yield run execution to help prevent duplicate task executions

* Add auto-yield config to endpoints

* Refactor run execution with buffer and limits

Introduced constants RUN_CHUNK_EXECUTION_BUFFER and MAX_RUN_CHUNK_EXECUTION_LIMIT. Adjusted PerformRunExecutionV2Service to use the new constants to fine-tune execution timings and buffers.

* Add endpoint probing functionality

Added new `RESPONSE_TIMEOUT_STATUS_CODES` in `consts.ts` to manage timeout responses. Additional functions `detectResponseIsTimeout(response: Response)` was added in `endpoint.server.ts` to detect if a response was a timeout based on the status codes from `RESPONSE_TIMEOUT_STATUS_CODES`.

Update actions to use new endpoint probing endpoint service. This allows for the early probing of endpoints to determine if they're up and running.

A new class `ProbeEndpointService` was created in `probeEndpoint.server.ts` which makes HTTP requests to a given endpoint and updates its properties based on the result.

Finally, `detectResponseIsTimeout(response)` is used in `performRunExecutionV2.server.ts` for marking the execution as succeeded when facing a timeout.

* Refactored probe method in EndpointApi class

The probe method of the EndpointApi class has been refactored to remove the error handling part and it now takes a timeout sent from the client directly. The corresponding changes were also made in the ProbeEndpointService and TriggerClient objects to reflect the alterations in the probe method.

The error handling related to the timeout has been removed and the responsibility of handling the timeout has been shifted to the client. Thus, the probe method has been greatly simplified. The `probeEndpoint.server.ts` file was also changed to accommodate the change in behavior of the probe result.

In the `triggerClient.ts` the timeout for probe is now read from the incoming request object. For backward compatibility, if no timeout is provided in the request, the default value of 15 minutes is used.

* Remove performRunExecution v1 enqueue function
* Better document limits and add docs on increasing function timeouts
* Upgrade webapp docker container to use 18.18.2
* force clients to yield when a run is executing in a gracefully shutting down worker
* Renamed task `key` to `cacheKey` and added more task documentation
* Index the `@trigger.dev/sdk` version on Endpoints
2023-10-20 17:44:10 +01:00

389 lines
11 KiB
JSON

{
"$schema": "https://mintlify.com/schema.json",
"name": "Trigger.dev",
"logo": {
"dark": "/logo/dark.png",
"light": "/logo/light.png",
"href": "https://trigger.dev"
},
"favicon": "/images/favicon.png",
"colors": {
"primary": "#818cf8",
"light": "#818cf8",
"dark": "#818cf8",
"anchors": {
"from": "#fff",
"to": "#eee"
}
},
"backgroundImage": "/images/docs-background.png",
"modeToggle": {
"default": "dark",
"isHidden": true
},
"feedback": {
"suggestEdit": true,
"raiseIssue": true,
"thumbsRating": true
},
"topbarCtaButton": {
"type": "github",
"url": "https://github.com/triggerdotdev/trigger.dev"
},
"topbarLinks": [
{
"name": "Community",
"url": "https://discord.gg/kA47vcd8P6"
}
],
"tabs": [
{
"name": "Integrations",
"url": "integrations"
},
{
"name": "Reference",
"url": "sdk"
},
{
"name": "Example Jobs",
"url": "examples"
}
],
"redirects": [
{
"source": "/documentation/quickstart",
"destination": "/documentation/quickstarts/introduction"
},
{
"source": "/documentation/guides/manual",
"destination": "/documentation/guides/manual/nextjs"
},
{
"source": "/documentation/concepts/limitations",
"destination": "/documentation/concepts/limits"
},
{
"source": "/documentation/guides/create-a-job",
"destination": "/documentation/guides/writing-jobs-step-by-step"
}
],
"navigation": [
{
"group": "Getting Started",
"pages": [
"documentation/introduction",
{
"group": "Quick Starts",
"pages": [
"documentation/quickstarts/introduction",
{
"group": "Frameworks",
"pages": [
"documentation/quickstarts/nextjs",
"documentation/quickstarts/express",
"documentation/quickstarts/remix",
"documentation/quickstarts/redwood",
"documentation/quickstarts/nestjs",
"documentation/quickstarts/astro",
"documentation/quickstarts/nuxt",
"documentation/quickstarts/sveltekit",
"documentation/quickstarts/fastify"
]
},
"documentation/quickstarts/supabase"
]
},
"documentation/guides/writing-jobs-step-by-step",
"documentation/guides/video-walkthrough"
]
},
{
"group": "Concepts",
"pages": [
"documentation/concepts/what-is-triggerdotdev",
"documentation/concepts/limits",
"documentation/concepts/projects",
"documentation/concepts/client-adaptors",
{
"group": "Jobs, Runs & Tasks",
"pages": [
"documentation/concepts/jobs",
"documentation/concepts/runs",
"documentation/concepts/tasks"
]
},
{
"group": "Triggers",
"pages": [
"documentation/concepts/triggers/introduction",
"documentation/concepts/triggers/webhooks",
"documentation/concepts/triggers/events",
"documentation/concepts/triggers/scheduled",
"documentation/concepts/triggers/dynamic"
]
},
"documentation/concepts/resumability",
"documentation/concepts/delays",
"documentation/concepts/integrations",
"documentation/concepts/connect",
"documentation/concepts/environments-endpoints"
]
},
{
"group": "Guides",
"pages": [
{
"group": "Platforms",
"pages": [
"documentation/guides/platforms/nextjs",
"documentation/guides/platforms/express",
"documentation/guides/platforms/remix",
"documentation/guides/platforms/redwood",
"documentation/guides/platforms/astro",
"documentation/guides/platforms/nuxt",
"documentation/guides/platforms/sveltekit",
"documentation/guides/platforms/fastify"
]
},
"documentation/guides/cli",
{
"group": "Manual setup",
"pages": [
"documentation/guides/manual/nextjs",
"documentation/guides/manual/nestjs",
"documentation/guides/manual/express",
"documentation/guides/manual/remix",
"documentation/guides/manual/redwood",
"documentation/guides/manual/astro",
"documentation/guides/manual/nuxt",
"documentation/guides/manual/sveltekit",
"documentation/guides/manual/fastify"
]
},
"documentation/guides/running-jobs",
"documentation/guides/jobs/managing",
{
"group": "Using the Dashboard",
"pages": [
"documentation/guides/managing-jobs",
"documentation/guides/viewing-runs",
"documentation/guides/testing-jobs",
"documentation/guides/rerunning"
]
},
{
"group": "Using Integrations",
"pages": [
"documentation/guides/using-integrations",
"documentation/guides/using-integrations-apikeys",
"documentation/guides/using-integrations-oauth",
"documentation/guides/using-integrations-byo-auth"
]
},
{
"group": "React hooks",
"pages": [
"documentation/guides/react-hooks",
"documentation/guides/react-hooks-automatic",
"documentation/guides/react-hooks-statuses"
]
},
{
"group": "Deployment",
"pages": [
"documentation/guides/deployment",
"documentation/guides/deployment-setup",
"documentation/guides/deployment-manual",
"documentation/guides/deployment-automatic"
]
},
"documentation/guides/event-filter",
"documentation/guides/zod",
{
"group": "Self hosting",
"pages": [
"documentation/guides/self-hosting",
"documentation/guides/self-hosting/flyio",
"documentation/guides/self-hosting/render",
"documentation/guides/self-hosting/supabase",
"documentation/guides/tunneling-platform"
]
},
"documentation/guides/contributing"
]
},
{
"group": "Community & Support",
"pages": [
"documentation/get-help",
"documentation/faq",
"documentation/changelog",
"documentation/roadmap"
]
},
{
"group": "Overview",
"pages": [
"integrations/introduction",
{
"group": "Create an Integration",
"pages": [
"integrations/create",
"integrations/create-setup",
"integrations/create-anatomy",
"integrations/create-oauth",
"integrations/create-client",
"integrations/create-tasks",
"integrations/create-triggers",
"integrations/create-testing",
"integrations/create-publishing"
]
}
]
},
{
"group": "Integrations",
"pages": [
"integrations/apis/airtable",
{
"group": "GitHub",
"pages": [
"integrations/apis/github",
"integrations/apis/github-triggers",
"integrations/apis/github-tasks"
]
},
"integrations/apis/linear",
"integrations/apis/openai",
{
"group": "Plain",
"pages": [
"integrations/apis/plain",
"integrations/apis/plain-tasks"
]
},
"integrations/apis/replicate",
"integrations/apis/resend",
"integrations/apis/sendgrid",
"integrations/apis/slack",
"integrations/apis/stripe",
{
"group": "Supabase",
"pages": [
"integrations/apis/supabase/introduction",
"integrations/apis/supabase/management",
"integrations/apis/supabase/client"
]
},
"integrations/apis/typeform"
]
},
{
"group": "SDK",
"pages": [
"sdk/introduction",
{
"group": "TriggerClient",
"pages": [
"sdk/triggerclient/overview",
"sdk/triggerclient/constructor",
{
"group": "Instance methods",
"pages": [
"sdk/triggerclient/instancemethods/sendevent",
"sdk/triggerclient/instancemethods/getevent",
"sdk/triggerclient/instancemethods/cancel-event",
"sdk/triggerclient/instancemethods/getruns",
"sdk/triggerclient/instancemethods/getrun",
"sdk/triggerclient/instancemethods/define-job",
"sdk/triggerclient/instancemethods/define-dynamic-trigger",
"sdk/triggerclient/instancemethods/define-dynamic-schedule",
"sdk/triggerclient/instancemethods/define-auth-resolver"
]
}
]
},
"sdk/job",
{
"group": "IO",
"pages": [
"sdk/io/overview",
"sdk/io/runtask",
"sdk/io/wait",
"sdk/io/logger",
"sdk/io/sendevent",
"sdk/io/backgroundfetch",
"sdk/io/try",
"sdk/io/registerinterval",
"sdk/io/unregisterinterval",
"sdk/io/registercron",
"sdk/io/unregistercron",
"sdk/io/registertrigger"
]
},
"sdk/context",
"sdk/eventtrigger",
"sdk/crontrigger",
"sdk/intervaltrigger",
{
"group": "DynamicTrigger",
"pages": [
"sdk/dynamictrigger/overview",
"sdk/dynamictrigger/constructor",
{
"group": "Instance methods",
"pages": [
"sdk/dynamictrigger/register",
"sdk/dynamictrigger/unregister"
]
}
]
},
{
"group": "DynamicSchedule",
"pages": [
"sdk/dynamicschedule/overview",
"sdk/dynamicschedule/constructor",
{
"group": "Instance methods",
"pages": [
"sdk/dynamicschedule/register",
"sdk/dynamicschedule/unregister"
]
}
]
},
"sdk/connection-auth",
"sdk/istriggererror",
"sdk/redactstring"
]
},
{
"group": "React SDK",
"pages": [
"sdk/react/introduction",
"sdk/react/triggerprovider",
"sdk/react/useeventdetails",
"sdk/react/useeventrundetails",
"sdk/react/userundetails"
]
},
{
"group": "Overview",
"pages": [
"examples/introduction"
]
}
],
"footerSocials": {
"twitter": "https://twitter.com/triggerdotdev",
"github": "https://github.com/triggerdotdev",
"linkedin": "https://www.linkedin.com/company/triggerdotdev"
},
"analytics": {
"posthog": {
"apiKey": "phc_hwYmedO564b3Ik8nhA4Csrb5SueY0EwFJWCbseGwWW"
}
}
}