fade22015f
* Adds new features table to top of v4 upgrade guide * Adds wait idempotency to wait-until, wait-for, and wait-for-token pages * Adds new priority docs page and updates the v4 upgrade guide * Adds new task lifecycle hooks * Removes the message about requiring tasks to be exported * Adds new global lifecycle hooks section * Moves sections from upgrade guide into the table * Adds hidden task page * Improves the global lifecycle hooks section * Updates middleware and locals section * Adds new useWaitToken page to the react hooks section * Adds a new ai.tool section * Moves Docker (legacy) page into self-hosting section * Removes known issues from v4 upgrade guide * Replace “toolTask” with “ai.tool” in the Streams page example * Renames guide to “Migrating from v3” and adds redirect * Remove references to v4 * Removes changelog from migration guide * The installation guide now references `@latest update` * Changes all references from `/sdk/v3` to `/sdk` * Updates @v4-beta to @latest * Fixed broken link * Fixes broken link * Adds an upgrade to v4 using AI section * Fixes 2 broken links * Adds an entry for targetting preview branches * Updates the run statuses * Adds boolean helpers section to the runs and realtime pages * Updates the concurrency page * Updates the test page to include the new options * Adds SDK and curl options for the preview branch targeting * Updates new bulk actions page * Remove the releasing concurrency section * Got rid of some more @v4-beta mentions * Improved rate limit docs * Improved migrating docs * Removed commented sections of the docs * useWaitToken hook * Fixed the description * Fix for missing test image --------- Co-authored-by: Matt Aitken <matt@mattaitken.com> Co-authored-by: Dan <8297864+D-K-P@users.noreply.github.com>
56 lines
1.6 KiB
Plaintext
56 lines
1.6 KiB
Plaintext
---
|
|
title: "Hidden tasks"
|
|
description: "Create tasks that are not exported from your trigger files but can still be executed."
|
|
---
|
|
|
|
Hidden tasks are tasks that are not exported from your trigger files but can still be executed. These tasks are only accessible to other tasks within the same file or module where they're defined.
|
|
|
|
```ts trigger/my-task.ts
|
|
import { task } from "@trigger.dev/sdk";
|
|
|
|
// This is a hidden task - not exported
|
|
const internalTask = task({
|
|
id: "internal-processing",
|
|
run: async (payload: any, { ctx }) => {
|
|
// Internal processing logic
|
|
},
|
|
});
|
|
```
|
|
|
|
Hidden tasks are useful for creating internal workflows that should only be triggered by other tasks in the same file:
|
|
|
|
```ts trigger/my-workflow.ts
|
|
import { task } from "@trigger.dev/sdk";
|
|
|
|
// Hidden task for internal use
|
|
const processData = task({
|
|
id: "process-data",
|
|
run: async (payload: { data: string }, { ctx }) => {
|
|
// Process the data
|
|
return { processed: payload.data.toUpperCase() };
|
|
},
|
|
});
|
|
|
|
// Public task that uses the hidden task
|
|
export const mainWorkflow = task({
|
|
id: "main-workflow",
|
|
run: async (payload: any, { ctx }) => {
|
|
const result = await processData.trigger({ data: payload.input });
|
|
return result;
|
|
},
|
|
});
|
|
```
|
|
|
|
You can also create packages of reusable tasks that can be imported and used without needing to re-export them:
|
|
|
|
```ts trigger/my-task.ts
|
|
import { task } from "@trigger.dev/sdk";
|
|
import { sendToSlack } from "@repo/tasks"; // Hidden task from another package
|
|
|
|
export const notificationTask = task({
|
|
id: "send-notification",
|
|
run: async (payload: any, { ctx }) => {
|
|
await sendToSlack.trigger(payload);
|
|
},
|
|
});
|
|
``` |