mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-05-08 02:49:17 -05:00
7c3ddfca32
* feat: allow extending the api server * chore: remove internal packages to pkg * chore: update db_gen.go * fix: expose auth * fix: move logger to pkg * fix: don't generate gitignore for prisma client * fix: allow extensions to register their own api spec * feat: expose pool on server config * fix: nil pointer exception on empty opts * fix: run.go file
59 lines
1.3 KiB
SQL
59 lines
1.3 KiB
SQL
-- name: ListStaleDispatchers :many
|
|
SELECT
|
|
sqlc.embed(dispatchers)
|
|
FROM "Dispatcher" as dispatchers
|
|
WHERE
|
|
-- last heartbeat older than 15 seconds
|
|
"lastHeartbeatAt" < NOW () - INTERVAL '15 seconds'
|
|
-- not active
|
|
AND "isActive" = false;
|
|
|
|
-- name: ListActiveDispatchers :many
|
|
SELECT
|
|
sqlc.embed(dispatchers)
|
|
FROM "Dispatcher" as dispatchers
|
|
WHERE
|
|
-- last heartbeat greater than 15 seconds
|
|
"lastHeartbeatAt" > NOW () - INTERVAL '15 seconds'
|
|
-- active
|
|
AND "isActive" = true;
|
|
|
|
-- name: SetDispatchersInactive :many
|
|
UPDATE
|
|
"Dispatcher" as dispatchers
|
|
SET
|
|
"isActive" = false
|
|
WHERE
|
|
"id" = ANY (sqlc.arg('ids')::uuid[])
|
|
RETURNING
|
|
sqlc.embed(dispatchers);
|
|
|
|
-- name: ListDispatchers :many
|
|
SELECT
|
|
sqlc.embed(dispatchers)
|
|
FROM
|
|
"Dispatcher" as dispatchers;
|
|
|
|
-- name: DeleteDispatcher :one
|
|
DELETE FROM
|
|
"Dispatcher" as dispatchers
|
|
WHERE
|
|
"id" = sqlc.arg('id')::uuid
|
|
RETURNING *;
|
|
|
|
-- name: CreateDispatcher :one
|
|
INSERT INTO
|
|
"Dispatcher" ("id", "lastHeartbeatAt", "isActive")
|
|
VALUES
|
|
(sqlc.arg('id')::uuid, CURRENT_TIMESTAMP, 't')
|
|
RETURNING *;
|
|
|
|
-- name: UpdateDispatcher :one
|
|
UPDATE
|
|
"Dispatcher" as dispatchers
|
|
SET
|
|
"lastHeartbeatAt" = sqlc.arg('lastHeartbeatAt')::timestamp
|
|
WHERE
|
|
"id" = sqlc.arg('id')::uuid
|
|
RETURNING *;
|