feat: pauseable workflows (#879)

* feat: pause workflow state

* feat: dont run paused workflows

* feat: skipped paused

* implement unpaused behavior for workflow runs

* fix: frontend

* fix: more frontend

* fix: imports

---------

Co-authored-by: Alexander Belanger <alexander@hatchet.run>
This commit is contained in:
Gabe Ruttner
2024-09-29 07:58:10 -07:00
committed by GitHub
parent dd385c5b66
commit 7d7e43d4e1
38 changed files with 1590 additions and 238 deletions

View File

@@ -0,0 +1,4 @@
-- Add value to enum type: "InternalQueue"
ALTER TYPE "InternalQueue" ADD VALUE 'WORKFLOW_RUN_PAUSED';
-- Modify "Workflow" table
ALTER TABLE "Workflow" ADD COLUMN "isPaused" boolean NULL DEFAULT false;

View File

@@ -1,4 +1,4 @@
h1:lF5HY8eyRauexSPXlJPoY2e6Vu064xoJ2h5WzA2nkRI=
h1:ANl/rxmEbmeYdm3Tb2NXC15PisMM+/XP92yl/cspTK0=
20240115180414_init.sql h1:Ef3ZyjAHkmJPdGF/dEWCahbwgcg6uGJKnDxW2JCRi2k=
20240122014727_v0_6_0.sql h1:o/LdlteAeFgoHJ3e/M4Xnghqt9826IE/Y/h0q95Acuo=
20240126235456_v0_7_0.sql h1:KiVzt/hXgQ6esbdC6OMJOOWuYEXmy1yeCpmsVAHTFKs=
@@ -60,3 +60,4 @@ h1:lF5HY8eyRauexSPXlJPoY2e6Vu064xoJ2h5WzA2nkRI=
20240923124809_v0.45.4.sql h1:SqSSiWebWGiDg978uLwiaWfcJkR5tm+8HQZOmCiOABQ=
20240926210650_v0.47.0.sql h1:Wm6QJ7GIFIsM9eym6e+PB3g/C9mM3tUoogxiBFD3E0w=
20240927172935_v0.47.1.sql h1:UlcoRDWx5xCoNjcYTjBsWkdbFZSuVJWlWZOzhTq8u/Y=
20240928144316_v0.48.0.sql h1:TX7/rN8ghoysQXy2OAMX+LdSIEA6tbdd4BZfL9wtxFQ=

View File

@@ -2,7 +2,7 @@
CREATE TYPE "ConcurrencyLimitStrategy" AS ENUM ('CANCEL_IN_PROGRESS', 'DROP_NEWEST', 'QUEUE_NEWEST', 'GROUP_ROUND_ROBIN');
-- CreateEnum
CREATE TYPE "InternalQueue" AS ENUM ('WORKER_SEMAPHORE_COUNT', 'STEP_RUN_UPDATE', 'WORKFLOW_RUN_UPDATE');
CREATE TYPE "InternalQueue" AS ENUM ('WORKER_SEMAPHORE_COUNT', 'STEP_RUN_UPDATE', 'WORKFLOW_RUN_UPDATE', 'WORKFLOW_RUN_PAUSED');
-- CreateEnum
CREATE TYPE "InviteLinkStatus" AS ENUM ('PENDING', 'ACCEPTED', 'REJECTED');
@@ -752,6 +752,7 @@ CREATE TABLE "Workflow" (
"tenantId" UUID NOT NULL,
"name" TEXT NOT NULL,
"description" TEXT,
"isPaused" BOOLEAN DEFAULT false,
CONSTRAINT "Workflow_pkey" PRIMARY KEY ("id")
);