The run filter for tasks query was very slow if you had a lot of synced tasks

This commit is contained in:
Matt Aitken
2024-07-15 15:59:11 +01:00
parent 824a6205f7
commit 76a15fd278
@@ -1,4 +1,4 @@
import { Prisma, TaskRunStatus } from "@trigger.dev/database";
import { Prisma, TaskRunStatus, TaskTriggerSource } from "@trigger.dev/database";
import parse from "parse-duration";
import { Direction } from "~/components/runs/RunStatuses";
import { FINISHED_STATUSES } from "~/components/runs/v3/TaskRunStatus";
@@ -94,12 +94,16 @@ export class RunListPresenter extends BasePresenter {
});
//get all possible tasks
const possibleTasksAsync = this._replica.backgroundWorkerTask.findMany({
distinct: ["slug"],
where: {
projectId: project.id,
},
});
const possibleTasksAsync = this._replica.$queryRaw<
{
slug: string;
triggerSource: TaskTriggerSource
}[]
>`
SELECT DISTINCT(slug), "triggerSource"
FROM ${sqlDatabaseSchema}."BackgroundWorkerTask"
WHERE "projectId" = ${project.id}
ORDER BY slug ASC;`;
//get possible bulk actions
const bulkActionsAsync = this._replica.bulkActionGroup.findMany({