docs(troubleshooting): add COULD_NOT_FIND_EXECUTOR error and IPv4 support (#2950)

Document COULD_NOT_FIND_EXECUTOR error with dynamic imports and IPv4
database connection limitation in troubleshooting guide.
This commit is contained in:
Iss
2026-02-04 09:30:51 -05:00
committed by GitHub
parent e017913021
commit 104f720f6f
+34
View File
@@ -151,6 +151,10 @@ Your code is deployed separately from the rest of your app(s) so you need to mak
Prisma uses code generation to create the client from your schema file. This means you need to add a bit of config so we can generate this file before your tasks run: [Read the guide](/config/extensions/prismaExtension).
### Database connection requires IPv4
Trigger.dev currently only supports IPv4 database connections. If your database provider only provides an IPv6 connection string, you'll need to use an IPv4 address instead. [Upvote IPv6 support](https://triggerdev.featurebase.app/p/support-ipv6-database-connections).
### `Parallel waits are not supported`
In the current version, you can't perform more that one "wait" in parallel.
@@ -171,6 +175,36 @@ The most common situation this happens is if you're using `Promise.all` around s
Make sure that you always use `await` when you call `trigger`, `triggerAndWait`, `batchTrigger`, and `batchTriggerAndWait`. If you don't then it's likely the task(s) won't be triggered because the calling function process can be terminated before the networks calls are sent.
### `COULD_NOT_FIND_EXECUTOR`
If you see a `COULD_NOT_FIND_EXECUTOR` error when triggering a task, it may be caused by dynamically importing the child task. When tasks are dynamically imported, the executor may not be properly registered.
Use a top-level import instead:
```ts
import { myChildTask } from "~/trigger/my-child-task";
export const myTask = task({
id: "my-task",
run: async (payload: string) => {
await myChildTask.trigger({ payload: "data" });
},
});
```
Alternatively, use `tasks.trigger()` or `batch.triggerAndWait()` without importing the task:
```ts
import { batch } from "@trigger.dev/sdk";
export const myTask = task({
id: "my-task",
run: async (payload: string) => {
await batch.triggerAndWait([{ id: "my-child-task", payload: "data" }]);
},
});
```
### Rate limit exceeded
<RateLimitHitUseBatchTrigger />