alepha 0.19.2 → 0.19.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/swagger-ui/swagger-ui-bundle.js +1 -1
- package/dist/api/audits/index.d.ts +8 -8
- package/dist/api/invitations/index.d.ts +790 -0
- package/dist/api/invitations/index.d.ts.map +1 -0
- package/dist/api/invitations/index.js +665 -0
- package/dist/api/invitations/index.js.map +1 -0
- package/dist/api/jobs/index.browser.js +8 -9
- package/dist/api/jobs/index.browser.js.map +1 -1
- package/dist/api/jobs/index.d.ts +90 -34
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/jobs/index.js +267 -44
- package/dist/api/jobs/index.js.map +1 -1
- package/dist/api/notifications/index.browser.js +0 -1
- package/dist/api/notifications/index.browser.js.map +1 -1
- package/dist/api/notifications/index.d.ts +3 -3
- package/dist/api/notifications/index.d.ts.map +1 -1
- package/dist/api/notifications/index.js +0 -1
- package/dist/api/notifications/index.js.map +1 -1
- package/dist/api/parameters/index.browser.js +112 -1
- package/dist/api/parameters/index.browser.js.map +1 -1
- package/dist/api/parameters/index.d.ts +90 -3
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/parameters/index.js +79 -12
- package/dist/api/parameters/index.js.map +1 -1
- package/dist/{billing → api/payments}/index.d.ts +67 -49
- package/dist/api/payments/index.d.ts.map +1 -0
- package/dist/{billing → api/payments}/index.js +108 -74
- package/dist/api/payments/index.js.map +1 -0
- package/dist/api/subscriptions/index.d.ts +1692 -0
- package/dist/api/subscriptions/index.d.ts.map +1 -0
- package/dist/api/subscriptions/index.js +1870 -0
- package/dist/api/subscriptions/index.js.map +1 -0
- package/dist/api/users/index.d.ts +27 -21
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +167 -34
- package/dist/api/users/index.js.map +1 -1
- package/dist/api/workflows/index.browser.js +246 -0
- package/dist/api/workflows/index.browser.js.map +1 -0
- package/dist/api/workflows/index.d.ts +1618 -0
- package/dist/api/workflows/index.d.ts.map +1 -0
- package/dist/api/workflows/index.js +1504 -0
- package/dist/api/workflows/index.js.map +1 -0
- package/dist/cli/config/index.d.ts +6 -28
- package/dist/cli/config/index.d.ts.map +1 -1
- package/dist/cli/config/index.js +5 -10
- package/dist/cli/config/index.js.map +1 -1
- package/dist/cli/core/index.d.ts +11669 -208
- package/dist/cli/core/index.d.ts.map +1 -1
- package/dist/cli/core/index.js +60 -69
- package/dist/cli/core/index.js.map +1 -1
- package/dist/cli/devtools/index.d.ts +5 -0
- package/dist/cli/devtools/index.d.ts.map +1 -1
- package/dist/cli/devtools/index.js +4 -0
- package/dist/cli/devtools/index.js.map +1 -1
- package/dist/cli/platform/index.d.ts +69 -64
- package/dist/cli/platform/index.d.ts.map +1 -1
- package/dist/cli/platform/index.js +6 -2
- package/dist/cli/platform/index.js.map +1 -1
- package/dist/cli/vendor/index.d.ts +38 -10
- package/dist/cli/vendor/index.d.ts.map +1 -1
- package/dist/cli/vendor/index.js +85 -26
- package/dist/cli/vendor/index.js.map +1 -1
- package/dist/core/index.browser.js +21 -2
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +33 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +25 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +25 -2
- package/dist/core/index.native.js.map +1 -1
- package/dist/core/index.workerd.js +25 -2
- package/dist/core/index.workerd.js.map +1 -1
- package/dist/email/smtp/index.js +24 -8
- package/dist/email/smtp/index.js.map +1 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +1 -1
- package/dist/logger/index.js.map +1 -1
- package/dist/orm/core/index.browser.js +0 -18
- package/dist/orm/core/index.browser.js.map +1 -1
- package/dist/orm/core/index.bun.js +25 -73
- package/dist/orm/core/index.bun.js.map +1 -1
- package/dist/orm/core/index.d.ts +10 -32
- package/dist/orm/core/index.d.ts.map +1 -1
- package/dist/orm/core/index.js +25 -73
- package/dist/orm/core/index.js.map +1 -1
- package/dist/orm/postgres/index.bun.js +3 -3
- package/dist/orm/postgres/index.bun.js.map +1 -1
- package/dist/orm/postgres/index.d.ts +2 -1
- package/dist/orm/postgres/index.d.ts.map +1 -1
- package/dist/orm/postgres/index.js +3 -3
- package/dist/orm/postgres/index.js.map +1 -1
- package/dist/react/router/index.browser.js +25 -3
- package/dist/react/router/index.browser.js.map +1 -1
- package/dist/react/router/index.d.ts +16 -1
- package/dist/react/router/index.d.ts.map +1 -1
- package/dist/react/router/index.js +25 -3
- package/dist/react/router/index.js.map +1 -1
- package/dist/security/index.d.ts +28 -0
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +28 -0
- package/dist/security/index.js.map +1 -1
- package/package.json +37 -20
- package/src/api/invitations/__tests__/InvitationService.spec.ts +439 -0
- package/src/api/invitations/controllers/AdminInvitationController.ts +86 -0
- package/src/api/invitations/controllers/InvitationController.ts +84 -0
- package/src/api/invitations/entities/invitations.ts +33 -0
- package/src/api/invitations/index.ts +65 -0
- package/src/api/invitations/jobs/InvitationJobs.ts +37 -0
- package/src/api/invitations/providers/InvitationProvider.ts +45 -0
- package/src/api/invitations/schemas/createInvitationSchema.ts +12 -0
- package/src/api/invitations/schemas/invitationConfigAtom.ts +20 -0
- package/src/api/invitations/schemas/invitationQuerySchema.ts +15 -0
- package/src/api/invitations/schemas/invitationResourceSchema.ts +6 -0
- package/src/api/invitations/schemas/invitationWithResourceInfoSchema.ts +22 -0
- package/src/api/invitations/schemas/myInvitationsQuerySchema.ts +10 -0
- package/src/api/invitations/services/InvitationService.ts +556 -0
- package/src/api/jobs/__tests__/$job.spec.ts +876 -0
- package/src/api/jobs/controllers/AdminJobController.ts +44 -0
- package/src/api/jobs/entities/jobExecutionEntity.ts +0 -2
- package/src/api/jobs/index.ts +0 -3
- package/src/api/jobs/primitives/$job.ts +22 -11
- package/src/api/jobs/providers/JobProvider.ts +239 -25
- package/src/api/jobs/schemas/jobConfigAtom.ts +4 -0
- package/src/api/jobs/schemas/jobCronInfoSchema.ts +1 -0
- package/src/api/jobs/schemas/jobExecutionQuerySchema.ts +0 -1
- package/src/api/jobs/schemas/jobQueueDepthSchema.ts +1 -0
- package/src/api/jobs/schemas/jobRegistrationSchema.ts +1 -6
- package/src/api/jobs/services/JobService.ts +51 -12
- package/src/api/notifications/schemas/notificationQuerySchema.ts +0 -1
- package/src/api/parameters/__tests__/$parameter.spec.ts +327 -0
- package/src/api/parameters/controllers/AdminParameterController.ts +29 -3
- package/src/api/parameters/index.browser.ts +12 -0
- package/src/api/parameters/primitives/$parameter.ts +20 -3
- package/src/api/parameters/services/ParameterProvider.ts +48 -7
- package/src/{billing → api/payments}/__tests__/PaymentMethodService.spec.ts +32 -6
- package/src/api/payments/__tests__/PaymentService.spec.ts +279 -0
- package/src/{billing/controllers/AdminBillingController.ts → api/payments/controllers/AdminPaymentController.ts} +26 -21
- package/src/{billing/controllers/BillingController.ts → api/payments/controllers/PaymentController.ts} +23 -11
- package/src/{billing → api/payments}/entities/paymentIntents.ts +1 -0
- package/src/{billing/errors/BillingError.ts → api/payments/errors/PaymentError.ts} +1 -1
- package/src/{billing → api/payments}/index.ts +31 -25
- package/src/{billing/providers/MemoryBillingProvider.ts → api/payments/providers/MemoryPaymentProvider.ts} +4 -4
- package/src/{billing/providers/BillingProvider.ts → api/payments/providers/PaymentProvider.ts} +9 -2
- package/src/{billing → api/payments}/services/PaymentMethodService.ts +5 -5
- package/src/{billing/services/BillingService.ts → api/payments/services/PaymentService.ts} +94 -18
- package/src/api/subscriptions/__tests__/BillingService.spec.ts +218 -0
- package/src/api/subscriptions/__tests__/SubscriptionService.spec.ts +278 -0
- package/src/api/subscriptions/controllers/AdminSubscriptionController.ts +212 -0
- package/src/api/subscriptions/controllers/SubscriptionController.ts +189 -0
- package/src/api/subscriptions/entities/subscriptionEvents.ts +54 -0
- package/src/api/subscriptions/entities/subscriptions.ts +68 -0
- package/src/api/subscriptions/index.ts +144 -0
- package/src/api/subscriptions/jobs/SubscriptionJobs.ts +382 -0
- package/src/api/subscriptions/middleware/$requireLimit.ts +50 -0
- package/src/api/subscriptions/middleware/$requirePlan.ts +49 -0
- package/src/api/subscriptions/notifications/SubscriptionNotifications.ts +110 -0
- package/src/api/subscriptions/schemas/cancelSubscriptionSchema.ts +8 -0
- package/src/api/subscriptions/schemas/changePlanSchema.ts +9 -0
- package/src/api/subscriptions/schemas/createSubscriptionSchema.ts +11 -0
- package/src/api/subscriptions/schemas/entitlementsSchema.ts +21 -0
- package/src/api/subscriptions/schemas/mrrSchema.ts +13 -0
- package/src/api/subscriptions/schemas/planDefinitionSchema.ts +71 -0
- package/src/api/subscriptions/schemas/planResourceSchema.ts +25 -0
- package/src/api/subscriptions/schemas/subscriptionEventResourceSchema.ts +8 -0
- package/src/api/subscriptions/schemas/subscriptionQuerySchema.ts +19 -0
- package/src/api/subscriptions/schemas/subscriptionResourceSchema.ts +6 -0
- package/src/api/subscriptions/schemas/subscriptionSettingsSchema.ts +32 -0
- package/src/api/subscriptions/schemas/subscriptionStatsSchema.ts +23 -0
- package/src/api/subscriptions/services/BillingService.ts +437 -0
- package/src/api/subscriptions/services/SubscriptionConfig.ts +56 -0
- package/src/api/subscriptions/services/SubscriptionService.ts +867 -0
- package/src/api/subscriptions/services/UsageService.ts +118 -0
- package/src/api/users/__tests__/AdminUserController.spec.ts +80 -1
- package/src/api/users/__tests__/CredentialService.spec.ts +177 -0
- package/src/api/users/__tests__/EmailVerification.spec.ts +29 -18
- package/src/api/users/__tests__/PasswordReset.spec.ts +3 -0
- package/src/api/users/__tests__/RegistrationService.spec.ts +148 -1
- package/src/api/users/__tests__/SessionService.spec.ts +142 -1
- package/src/api/users/atoms/realmAuthSettingsAtom.ts +10 -1
- package/src/api/users/controllers/UserController.ts +3 -8
- package/src/api/users/notifications/UserNotifications.ts +23 -0
- package/src/api/users/schemas/loginSchema.ts +1 -1
- package/src/api/users/services/CredentialService.ts +51 -4
- package/src/api/users/services/RegistrationService.ts +38 -9
- package/src/api/users/services/SessionService.ts +62 -9
- package/src/api/users/services/UserService.ts +21 -12
- package/src/api/workflows/__tests__/$workflow.spec.ts +616 -0
- package/src/api/workflows/controllers/AdminWorkflowController.ts +191 -0
- package/src/api/workflows/entities/workflowExecutions.ts +74 -0
- package/src/api/workflows/entities/workflowStepExecutions.ts +74 -0
- package/src/api/workflows/entities/workflowStepLogs.ts +13 -0
- package/src/api/workflows/index.browser.ts +22 -0
- package/src/api/workflows/index.ts +124 -0
- package/src/api/workflows/jobs/WorkflowJobs.ts +77 -0
- package/src/api/workflows/primitives/$workflow.ts +202 -0
- package/src/api/workflows/providers/WorkflowProvider.ts +1284 -0
- package/src/api/workflows/schemas/workflowActivitySchema.ts +15 -0
- package/src/api/workflows/schemas/workflowConfigAtom.ts +51 -0
- package/src/api/workflows/schemas/workflowExecutionDetailSchema.ts +18 -0
- package/src/api/workflows/schemas/workflowExecutionQuerySchema.ts +26 -0
- package/src/api/workflows/schemas/workflowExecutionResourceSchema.ts +30 -0
- package/src/api/workflows/schemas/workflowRegistrationSchema.ts +26 -0
- package/src/api/workflows/schemas/workflowStatsSchema.ts +16 -0
- package/src/api/workflows/schemas/workflowStepExecutionResourceSchema.ts +15 -0
- package/src/api/workflows/services/WorkflowService.ts +382 -0
- package/src/cli/config/defineConfig.ts +17 -46
- package/src/cli/core/providers/ViteDevServerProvider.ts +45 -3
- package/src/cli/core/services/PackageManagerUtils.ts +3 -1
- package/src/cli/core/services/ProjectScaffolder.ts +5 -5
- package/src/cli/core/templates/agentMd.ts +14 -5
- package/src/cli/core/templates/webAppRouterTs.ts +5 -58
- package/src/cli/devtools/index.ts +21 -1
- package/src/cli/platform/index.ts +23 -2
- package/src/cli/vendor/__tests__/VendorService.spec.ts +283 -178
- package/src/cli/vendor/index.ts +20 -3
- package/src/cli/vendor/services/VendorService.ts +126 -27
- package/src/core/Alepha.ts +10 -0
- package/src/core/__tests__/TypeProvider.spec.ts +4 -2
- package/src/core/providers/SchemaValidator.ts +1 -1
- package/src/core/providers/TypeProvider.ts +46 -3
- package/src/logger/index.ts +6 -1
- package/src/orm/__tests__/enums.spec.ts +22 -29
- package/src/orm/__tests__/orm-showcase-tests.ts +430 -0
- package/src/orm/__tests__/orm-showcase.spec.ts +167 -0
- package/src/orm/core/providers/DatabaseTypeProvider.ts +0 -29
- package/src/orm/core/providers/DrizzleKitProvider.ts +56 -105
- package/src/orm/postgres/services/PostgresModelBuilder.ts +3 -6
- package/src/react/router/__tests__/$page.browser.spec.tsx +157 -0
- package/src/react/router/providers/ReactBrowserProvider.ts +39 -0
- package/src/react/router/providers/ReactBrowserRouterProvider.ts +22 -0
- package/src/security/__tests__/$secure-combinations.spec.ts +945 -0
- package/src/security/primitives/$secure.ts +28 -0
- package/tsconfig.base.json +0 -1
- package/dist/billing/index.d.ts.map +0 -1
- package/dist/billing/index.js.map +0 -1
- package/src/billing/__tests__/BillingService.spec.ts +0 -136
- /package/src/{billing → api/payments}/entities/paymentMethods.ts +0 -0
- /package/src/{billing → api/payments}/entities/refunds.ts +0 -0
- /package/src/{billing → api/payments}/schemas/intentSchemas.ts +0 -0
- /package/src/{billing → api/payments}/schemas/paymentMethodSchemas.ts +0 -0
- /package/src/{billing → api/payments}/schemas/refundSchemas.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/orm/core/schemas/insertSchema.ts","../../../src/orm/core/schemas/updateSchema.ts","../../../src/orm/core/primitives/$entity.ts","../../../src/orm/core/constants/PG_SYMBOLS.ts","../../../src/orm/core/helpers/pgAttr.ts","../../../src/orm/core/schemas/databaseEnvSchema.ts","../../../src/api/jobs/primitives/$job.ts","../../../src/api/jobs/providers/JobProvider.ts","../../../src/api/jobs/schemas/jobActivitySchema.ts","../../../src/api/jobs/schemas/jobCronInfoSchema.ts","../../../src/api/jobs/schemas/jobExecutionQuerySchema.ts","../../../src/api/jobs/schemas/jobFailureSchema.ts","../../../src/api/jobs/schemas/jobQueueDepthSchema.ts","../../../src/api/jobs/schemas/jobRegistrationSchema.ts","../../../src/api/jobs/schemas/jobStatsSchema.ts","../../../src/api/jobs/services/JobService.ts","../../../src/api/jobs/controllers/AdminJobController.ts","../../../src/api/jobs/entities/jobExecutionEntity.ts","../../../src/api/jobs/entities/jobExecutionLogEntity.ts","../../../src/api/jobs/providers/JobQueueProvider.ts","../../../src/api/jobs/schemas/jobConfigAtom.ts","../../../src/api/jobs/schemas/jobExecutionDetailResourceSchema.ts","../../../src/api/jobs/schemas/jobExecutionResourceSchema.ts","../../../src/api/jobs/schemas/triggerJobSchema.ts","../../../src/api/jobs/index.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/orm/core/schemas/insertSchema.ts","../../../src/orm/core/schemas/updateSchema.ts","../../../src/orm/core/primitives/$entity.ts","../../../src/orm/core/constants/PG_SYMBOLS.ts","../../../src/orm/core/helpers/pgAttr.ts","../../../src/orm/core/schemas/databaseEnvSchema.ts","../../../src/api/jobs/primitives/$job.ts","../../../src/api/jobs/providers/JobProvider.ts","../../../src/api/jobs/schemas/jobActivitySchema.ts","../../../src/api/jobs/schemas/jobCronInfoSchema.ts","../../../src/api/jobs/schemas/jobExecutionQuerySchema.ts","../../../src/api/jobs/schemas/jobFailureSchema.ts","../../../src/api/jobs/schemas/jobQueueDepthSchema.ts","../../../src/api/jobs/schemas/jobRegistrationSchema.ts","../../../src/api/jobs/schemas/jobStatsSchema.ts","../../../src/api/jobs/services/JobService.ts","../../../src/api/jobs/controllers/AdminJobController.ts","../../../src/api/jobs/entities/jobExecutionEntity.ts","../../../src/api/jobs/entities/jobExecutionLogEntity.ts","../../../src/api/jobs/providers/JobQueueProvider.ts","../../../src/api/jobs/schemas/jobConfigAtom.ts","../../../src/api/jobs/schemas/jobExecutionDetailResourceSchema.ts","../../../src/api/jobs/schemas/jobExecutionResourceSchema.ts","../../../src/api/jobs/schemas/triggerJobSchema.ts","../../../src/api/jobs/index.ts"],"mappings":"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"}
|
package/dist/api/jobs/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { $atom, $hook, $inject, $module, $state, Alepha, AlephaError, KIND, PipelinePrimitive, createPrimitive, t } from "alepha";
|
|
2
|
-
import {
|
|
3
|
-
import { AlephaLock } from "alepha/lock";
|
|
2
|
+
import { AlephaLock, LockProvider } from "alepha/lock";
|
|
4
3
|
import { $queue, AlephaQueue } from "alepha/queue";
|
|
5
4
|
import { AlephaScheduler, CronProvider } from "alepha/scheduler";
|
|
6
5
|
import { $secure } from "alepha/security";
|
|
@@ -32,6 +31,7 @@ const jobCronInfoSchema = t.object({
|
|
|
32
31
|
]),
|
|
33
32
|
concurrency: t.integer(),
|
|
34
33
|
hasSchema: t.boolean(),
|
|
34
|
+
paused: t.boolean(),
|
|
35
35
|
lastExecution: t.optional(t.object({
|
|
36
36
|
id: t.uuid(),
|
|
37
37
|
status: t.text(),
|
|
@@ -57,7 +57,6 @@ const jobExecutionEntity = $entity({
|
|
|
57
57
|
"retrying",
|
|
58
58
|
"running",
|
|
59
59
|
"completed",
|
|
60
|
-
"failed",
|
|
61
60
|
"dead",
|
|
62
61
|
"cancelled"
|
|
63
62
|
]), "pending"),
|
|
@@ -126,7 +125,6 @@ const jobExecutionQuerySchema = t.extend(pageQuerySchema, {
|
|
|
126
125
|
"retrying",
|
|
127
126
|
"running",
|
|
128
127
|
"completed",
|
|
129
|
-
"failed",
|
|
130
128
|
"dead",
|
|
131
129
|
"cancelled"
|
|
132
130
|
])),
|
|
@@ -155,7 +153,8 @@ const jobQueueDepthSchema = t.object({
|
|
|
155
153
|
scheduled: t.integer(),
|
|
156
154
|
retrying: t.integer(),
|
|
157
155
|
dead: t.integer(),
|
|
158
|
-
concurrency: t.integer()
|
|
156
|
+
concurrency: t.integer(),
|
|
157
|
+
paused: t.boolean()
|
|
159
158
|
});
|
|
160
159
|
//#endregion
|
|
161
160
|
//#region ../../src/api/jobs/schemas/jobRegistrationSchema.ts
|
|
@@ -180,10 +179,7 @@ const jobRegistrationSchema = t.object({
|
|
|
180
179
|
retries: t.integer(),
|
|
181
180
|
hasBackoff: t.boolean()
|
|
182
181
|
})),
|
|
183
|
-
|
|
184
|
-
size: t.integer(),
|
|
185
|
-
window: t.text()
|
|
186
|
-
}))
|
|
182
|
+
paused: t.boolean()
|
|
187
183
|
});
|
|
188
184
|
//#endregion
|
|
189
185
|
//#region ../../src/api/jobs/schemas/jobStatsSchema.ts
|
|
@@ -225,7 +221,8 @@ const jobConfig = $atom({
|
|
|
225
221
|
}),
|
|
226
222
|
delayed: t.object({ interval: t.integer({ description: "Sweep interval (ms)." }) }),
|
|
227
223
|
logRetentionDays: t.integer({ description: "Days to keep completed/dead executions." }),
|
|
228
|
-
logMaxEntries: t.integer({ description: "Max log entries captured per execution." })
|
|
224
|
+
logMaxEntries: t.integer({ description: "Max log entries captured per execution." }),
|
|
225
|
+
drainTimeout: t.integer({ description: "Max time (ms) to wait for in-flight jobs during shutdown." })
|
|
229
226
|
}),
|
|
230
227
|
default: {
|
|
231
228
|
recovery: {
|
|
@@ -235,7 +232,8 @@ const jobConfig = $atom({
|
|
|
235
232
|
},
|
|
236
233
|
delayed: { interval: 3e5 },
|
|
237
234
|
logRetentionDays: 30,
|
|
238
|
-
logMaxEntries: 100
|
|
235
|
+
logMaxEntries: 100,
|
|
236
|
+
drainTimeout: 3e4
|
|
239
237
|
}
|
|
240
238
|
});
|
|
241
239
|
//#endregion
|
|
@@ -256,11 +254,14 @@ var JobProvider = class JobProvider {
|
|
|
256
254
|
alepha = $inject(Alepha);
|
|
257
255
|
dt = $inject(DateTimeProvider);
|
|
258
256
|
cronProvider = $inject(CronProvider);
|
|
257
|
+
lockProvider = $inject(LockProvider);
|
|
259
258
|
config = $state(jobConfig);
|
|
260
259
|
log = $logger();
|
|
261
260
|
executions = $repository(jobExecutionEntity);
|
|
262
261
|
executionLogs = $repository(jobExecutionLogEntity);
|
|
263
262
|
jobs = /* @__PURE__ */ new Map();
|
|
263
|
+
pausedJobs = /* @__PURE__ */ new Set();
|
|
264
|
+
inFlight = /* @__PURE__ */ new Set();
|
|
264
265
|
/**
|
|
265
266
|
* When set, job executions are dispatched through a queue (e.g. `JobQueueProvider`).
|
|
266
267
|
* When null, jobs execute inline (fire-and-forget). Useful for serverless environments.
|
|
@@ -282,10 +283,16 @@ var JobProvider = class JobProvider {
|
|
|
282
283
|
priority: options.priority ?? "normal",
|
|
283
284
|
retries: options.retry?.retries ?? 0
|
|
284
285
|
});
|
|
285
|
-
if (options.cron) this.cronProvider.createCronJob(name, options.cron, () =>
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
286
|
+
if (options.cron) this.cronProvider.createCronJob(name, options.cron, async () => {
|
|
287
|
+
try {
|
|
288
|
+
await this.trigger(name, {
|
|
289
|
+
triggeredBy: "system",
|
|
290
|
+
triggeredByName: "system (cron)"
|
|
291
|
+
});
|
|
292
|
+
} catch (error) {
|
|
293
|
+
this.log.error(`Cron trigger failed for job '${name}'`, error);
|
|
294
|
+
}
|
|
295
|
+
});
|
|
289
296
|
}
|
|
290
297
|
/**
|
|
291
298
|
* Get all registered job definitions.
|
|
@@ -340,8 +347,35 @@ var JobProvider = class JobProvider {
|
|
|
340
347
|
return execution.id;
|
|
341
348
|
}
|
|
342
349
|
async pushMany(name, items) {
|
|
343
|
-
|
|
350
|
+
if (items.length === 0) return [];
|
|
351
|
+
const opts = this.getRegistration(name).options;
|
|
352
|
+
if (!opts.schema) throw new AlephaError(`Cannot push to job '${name}': no schema defined. Use trigger() for cron-only jobs.`);
|
|
353
|
+
const maxAttempts = (opts.retry?.retries ?? 0) + 1;
|
|
354
|
+
const keyed = [];
|
|
355
|
+
const bulkRows = [];
|
|
344
356
|
for (const item of items) {
|
|
357
|
+
const validated = this.alepha.codec.validate(opts.schema, item.payload);
|
|
358
|
+
if (item.key) keyed.push({
|
|
359
|
+
...item,
|
|
360
|
+
payload: validated
|
|
361
|
+
});
|
|
362
|
+
else {
|
|
363
|
+
const status = item.delay || item.scheduledAt ? "scheduled" : "pending";
|
|
364
|
+
let scheduledAt;
|
|
365
|
+
if (item.scheduledAt) scheduledAt = item.scheduledAt.toISOString();
|
|
366
|
+
else if (item.delay) scheduledAt = this.dt.now().add(this.dt.duration(item.delay)).toISOString();
|
|
367
|
+
bulkRows.push({
|
|
368
|
+
jobName: name,
|
|
369
|
+
payload: validated,
|
|
370
|
+
status,
|
|
371
|
+
priority: PRIORITY_MAP[item.priority ?? opts.priority ?? "normal"],
|
|
372
|
+
maxAttempts,
|
|
373
|
+
scheduledAt
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
const ids = [];
|
|
378
|
+
for (const item of keyed) {
|
|
345
379
|
const id = await this.push(name, item.payload, {
|
|
346
380
|
key: item.key,
|
|
347
381
|
delay: item.delay,
|
|
@@ -350,6 +384,17 @@ var JobProvider = class JobProvider {
|
|
|
350
384
|
});
|
|
351
385
|
ids.push(id);
|
|
352
386
|
}
|
|
387
|
+
if (bulkRows.length > 0) {
|
|
388
|
+
const created = await this.executions.createMany(bulkRows);
|
|
389
|
+
for (const exec of created) {
|
|
390
|
+
ids.push(exec.id);
|
|
391
|
+
if (exec.status === "pending" && !this.stopping) await this.scheduleProcessing(name, exec.id);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
this.log.debug(`pushMany '${name}': ${ids.length} jobs created`, {
|
|
395
|
+
bulk: bulkRows.length,
|
|
396
|
+
keyed: keyed.length
|
|
397
|
+
});
|
|
353
398
|
return ids;
|
|
354
399
|
}
|
|
355
400
|
async trigger(name, context) {
|
|
@@ -397,6 +442,19 @@ var JobProvider = class JobProvider {
|
|
|
397
442
|
});
|
|
398
443
|
}
|
|
399
444
|
async scheduleProcessing(jobName, executionId) {
|
|
445
|
+
if (this.pausedJobs.has(jobName)) {
|
|
446
|
+
this.log.debug(`Job '${jobName}' is paused, deferring`, { executionId });
|
|
447
|
+
return;
|
|
448
|
+
}
|
|
449
|
+
const maxConcurrency = this.getRegistration(jobName).options.concurrency ?? 1;
|
|
450
|
+
const runningCount = await this.executions.count({
|
|
451
|
+
jobName: { eq: jobName },
|
|
452
|
+
status: { eq: "running" }
|
|
453
|
+
});
|
|
454
|
+
if (runningCount >= maxConcurrency) {
|
|
455
|
+
this.log.debug(`Job '${jobName}' at concurrency limit (${runningCount}/${maxConcurrency}), deferring`, { executionId });
|
|
456
|
+
return;
|
|
457
|
+
}
|
|
400
458
|
if (this.queueDispatch) {
|
|
401
459
|
this.log.debug(`Dispatching job '${jobName}' via queue`, { executionId });
|
|
402
460
|
await this.queueDispatch(jobName, executionId);
|
|
@@ -406,6 +464,15 @@ var JobProvider = class JobProvider {
|
|
|
406
464
|
}
|
|
407
465
|
}
|
|
408
466
|
async processExecution(jobName, executionId) {
|
|
467
|
+
const promise = this.processExecutionInner(jobName, executionId);
|
|
468
|
+
this.inFlight.add(promise);
|
|
469
|
+
try {
|
|
470
|
+
await promise;
|
|
471
|
+
} finally {
|
|
472
|
+
this.inFlight.delete(promise);
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
async processExecutionInner(jobName, executionId) {
|
|
409
476
|
const registration = this.getRegistration(jobName);
|
|
410
477
|
if (!await this.claim(executionId)) {
|
|
411
478
|
this.log.debug(`Execution ${executionId} already claimed, skipping`);
|
|
@@ -477,12 +544,39 @@ var JobProvider = class JobProvider {
|
|
|
477
544
|
name: jobName,
|
|
478
545
|
executionId
|
|
479
546
|
}, { catch: true });
|
|
547
|
+
await this.dispatchNextPending(jobName);
|
|
480
548
|
}
|
|
481
549
|
}, { context });
|
|
482
550
|
} finally {
|
|
483
551
|
this.logs.delete(context);
|
|
484
552
|
}
|
|
485
553
|
}
|
|
554
|
+
/**
|
|
555
|
+
* After a job finishes (success, failure, or cancel), dispatch any pending
|
|
556
|
+
* jobs that were deferred due to the concurrency limit.
|
|
557
|
+
*/
|
|
558
|
+
async dispatchNextPending(jobName) {
|
|
559
|
+
if (this.stopping || this.pausedJobs.has(jobName)) return;
|
|
560
|
+
const registration = this.jobs.get(jobName);
|
|
561
|
+
if (!registration) return;
|
|
562
|
+
const available = (registration.options.concurrency ?? 1) - await this.executions.count({
|
|
563
|
+
jobName: { eq: jobName },
|
|
564
|
+
status: { eq: "running" }
|
|
565
|
+
});
|
|
566
|
+
if (available <= 0) return;
|
|
567
|
+
const pending = await this.executions.findMany({
|
|
568
|
+
where: {
|
|
569
|
+
jobName: { eq: jobName },
|
|
570
|
+
status: { eq: "pending" }
|
|
571
|
+
},
|
|
572
|
+
orderBy: {
|
|
573
|
+
column: "priority",
|
|
574
|
+
direction: "asc"
|
|
575
|
+
},
|
|
576
|
+
limit: available
|
|
577
|
+
});
|
|
578
|
+
for (const exec of pending) await this.scheduleProcessing(jobName, exec.id);
|
|
579
|
+
}
|
|
486
580
|
async claim(executionId) {
|
|
487
581
|
const execution = await this.executions.findById(executionId);
|
|
488
582
|
if (!execution) return false;
|
|
@@ -600,13 +694,20 @@ var JobProvider = class JobProvider {
|
|
|
600
694
|
async recoverySweep() {
|
|
601
695
|
this.log.trace("Starting recovery sweep");
|
|
602
696
|
if (this.stopping) return;
|
|
697
|
+
if (!await this.tryLock("_alepha:jobs:recovery-lock", 3e5)) return;
|
|
603
698
|
try {
|
|
604
699
|
const now = this.dt.now();
|
|
605
700
|
const staleThreshold = now.subtract(this.config.recovery.staleThreshold, "millisecond").toISOString();
|
|
606
701
|
const pendingWhere = this.executions.createQueryWhere();
|
|
607
702
|
pendingWhere.status = { eq: "pending" };
|
|
608
703
|
pendingWhere.createdAt = { lte: staleThreshold };
|
|
609
|
-
const stalePending = await this.executions.findMany({
|
|
704
|
+
const stalePending = await this.executions.findMany({
|
|
705
|
+
where: pendingWhere,
|
|
706
|
+
orderBy: {
|
|
707
|
+
column: "priority",
|
|
708
|
+
direction: "asc"
|
|
709
|
+
}
|
|
710
|
+
});
|
|
610
711
|
for (const exec of stalePending) {
|
|
611
712
|
if (!this.jobs.has(exec.jobName)) continue;
|
|
612
713
|
this.log.debug(`Recovery sweep: re-dispatching stale pending job ${exec.jobName} (${exec.id})`);
|
|
@@ -633,6 +734,8 @@ var JobProvider = class JobProvider {
|
|
|
633
734
|
}
|
|
634
735
|
} catch (e) {
|
|
635
736
|
this.log.error("Recovery sweep failed", { error: e });
|
|
737
|
+
} finally {
|
|
738
|
+
await this.releaseLock("_alepha:jobs:recovery-lock");
|
|
636
739
|
}
|
|
637
740
|
}
|
|
638
741
|
/**
|
|
@@ -645,12 +748,19 @@ var JobProvider = class JobProvider {
|
|
|
645
748
|
async delayedDispatchSweep() {
|
|
646
749
|
this.log.trace("Starting delayed dispatch sweep");
|
|
647
750
|
if (this.stopping) return;
|
|
751
|
+
if (!await this.tryLock("_alepha:jobs:dispatch-lock", 6e4)) return;
|
|
648
752
|
try {
|
|
649
753
|
const now = this.dt.nowISOString();
|
|
650
754
|
const where = this.executions.createQueryWhere();
|
|
651
755
|
where.status = { inArray: ["scheduled", "retrying"] };
|
|
652
756
|
where.scheduledAt = { lte: now };
|
|
653
|
-
const ready = await this.executions.findMany({
|
|
757
|
+
const ready = await this.executions.findMany({
|
|
758
|
+
where,
|
|
759
|
+
orderBy: {
|
|
760
|
+
column: "priority",
|
|
761
|
+
direction: "asc"
|
|
762
|
+
}
|
|
763
|
+
});
|
|
654
764
|
for (const exec of ready) {
|
|
655
765
|
if (!this.jobs.has(exec.jobName)) continue;
|
|
656
766
|
await this.executions.updateById(exec.id, { status: "pending" });
|
|
@@ -658,6 +768,8 @@ var JobProvider = class JobProvider {
|
|
|
658
768
|
}
|
|
659
769
|
} catch (e) {
|
|
660
770
|
this.log.error("Delayed dispatch sweep failed", { error: e });
|
|
771
|
+
} finally {
|
|
772
|
+
await this.releaseLock("_alepha:jobs:dispatch-lock");
|
|
661
773
|
}
|
|
662
774
|
}
|
|
663
775
|
/**
|
|
@@ -677,18 +789,55 @@ var JobProvider = class JobProvider {
|
|
|
677
789
|
"cancelled"
|
|
678
790
|
] };
|
|
679
791
|
where.completedAt = { lte: cutoff };
|
|
680
|
-
const
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
792
|
+
const expiredIds = await this.executions.findMany({
|
|
793
|
+
where,
|
|
794
|
+
columns: ["id"]
|
|
795
|
+
});
|
|
796
|
+
if (expiredIds.length > 0) {
|
|
797
|
+
const ids = expiredIds.map((e) => e.id);
|
|
798
|
+
await this.executionLogs.deleteMany({ id: { inArray: ids } });
|
|
799
|
+
await this.executions.deleteMany({ id: { inArray: ids } });
|
|
800
|
+
this.log.info(`Log purge: deleted ${ids.length} old execution records`);
|
|
686
801
|
}
|
|
687
|
-
if (old.length > 0) this.log.info(`Log purge: deleted ${old.length} old execution records`);
|
|
688
802
|
} catch (e) {
|
|
689
803
|
this.log.error("Log purge failed", { error: e });
|
|
690
804
|
}
|
|
691
805
|
}
|
|
806
|
+
pauseJob(name) {
|
|
807
|
+
this.getRegistration(name);
|
|
808
|
+
this.pausedJobs.add(name);
|
|
809
|
+
this.log.info(`Paused job '${name}'`);
|
|
810
|
+
}
|
|
811
|
+
async resumeJob(name) {
|
|
812
|
+
this.getRegistration(name);
|
|
813
|
+
this.pausedJobs.delete(name);
|
|
814
|
+
this.log.info(`Resumed job '${name}'`);
|
|
815
|
+
const pending = await this.executions.findMany({
|
|
816
|
+
where: {
|
|
817
|
+
jobName: { eq: name },
|
|
818
|
+
status: { eq: "pending" }
|
|
819
|
+
},
|
|
820
|
+
orderBy: {
|
|
821
|
+
column: "priority",
|
|
822
|
+
direction: "asc"
|
|
823
|
+
}
|
|
824
|
+
});
|
|
825
|
+
for (const exec of pending) await this.scheduleProcessing(name, exec.id);
|
|
826
|
+
}
|
|
827
|
+
isJobPaused(name) {
|
|
828
|
+
return this.pausedJobs.has(name);
|
|
829
|
+
}
|
|
830
|
+
getPausedJobs() {
|
|
831
|
+
return [...this.pausedJobs];
|
|
832
|
+
}
|
|
833
|
+
async tryLock(key, ttlMs) {
|
|
834
|
+
const lockValue = `${this.workerId},${this.dt.nowISOString()}`;
|
|
835
|
+
const [lockId] = (await this.lockProvider.set(key, lockValue, true, ttlMs)).split(",");
|
|
836
|
+
return lockId === this.workerId;
|
|
837
|
+
}
|
|
838
|
+
async releaseLock(key) {
|
|
839
|
+
await this.lockProvider.del(key);
|
|
840
|
+
}
|
|
692
841
|
onStart = $hook({
|
|
693
842
|
on: "start",
|
|
694
843
|
handler: async () => {
|
|
@@ -723,7 +872,14 @@ var JobProvider = class JobProvider {
|
|
|
723
872
|
on: "stop",
|
|
724
873
|
handler: async () => {
|
|
725
874
|
this.stopping = true;
|
|
726
|
-
|
|
875
|
+
if (this.inFlight.size > 0) {
|
|
876
|
+
this.log.info(`Draining ${this.inFlight.size} in-flight job(s)...`);
|
|
877
|
+
await Promise.race([Promise.allSettled([...this.inFlight]), this.dt.wait([this.config.drainTimeout, "millisecond"])]);
|
|
878
|
+
}
|
|
879
|
+
if (this.abortControllers.size > 0) {
|
|
880
|
+
this.log.warn(`Aborting ${this.abortControllers.size} remaining job(s) after drain timeout`);
|
|
881
|
+
for (const controller of this.abortControllers.values()) controller.abort();
|
|
882
|
+
}
|
|
727
883
|
}
|
|
728
884
|
});
|
|
729
885
|
getRegistration(name) {
|
|
@@ -735,7 +891,7 @@ var JobProvider = class JobProvider {
|
|
|
735
891
|
//#endregion
|
|
736
892
|
//#region ../../src/api/jobs/primitives/$job.ts
|
|
737
893
|
/**
|
|
738
|
-
* Job primitive for defining scheduled and on-demand tasks with payload validation
|
|
894
|
+
* Job primitive for defining scheduled and on-demand tasks with payload validation and retry policies.
|
|
739
895
|
*/
|
|
740
896
|
const $job = (options) => {
|
|
741
897
|
return createPrimitive(JobPrimitive, options);
|
|
@@ -777,6 +933,24 @@ var JobPrimitive = class extends PipelinePrimitive {
|
|
|
777
933
|
async trigger(context) {
|
|
778
934
|
return this.jobProvider.trigger(this.name, context);
|
|
779
935
|
}
|
|
936
|
+
/**
|
|
937
|
+
* Pause this job. Pushed items are still accepted but processing is held.
|
|
938
|
+
*/
|
|
939
|
+
pause() {
|
|
940
|
+
this.jobProvider.pauseJob(this.name);
|
|
941
|
+
}
|
|
942
|
+
/**
|
|
943
|
+
* Resume a paused job and dispatch any pending items.
|
|
944
|
+
*/
|
|
945
|
+
async resume() {
|
|
946
|
+
return this.jobProvider.resumeJob(this.name);
|
|
947
|
+
}
|
|
948
|
+
/**
|
|
949
|
+
* Whether this job is currently paused.
|
|
950
|
+
*/
|
|
951
|
+
get paused() {
|
|
952
|
+
return this.jobProvider.isJobPaused(this.name);
|
|
953
|
+
}
|
|
780
954
|
};
|
|
781
955
|
$job[KIND] = JobPrimitive;
|
|
782
956
|
//#endregion
|
|
@@ -816,7 +990,7 @@ var JobService = class {
|
|
|
816
990
|
COUNT(*) FILTER (WHERE ${e.status} = 'retrying') AS retrying,
|
|
817
991
|
COUNT(*) FILTER (WHERE ${e.status} = 'dead') AS dead,
|
|
818
992
|
COUNT(*) FILTER (WHERE ${e.status} = 'completed' AND ${e.completedAt} >= ${periodAgo}) AS completed_24h,
|
|
819
|
-
COUNT(*) FILTER (WHERE ${e.status}
|
|
993
|
+
COUNT(*) FILTER (WHERE ${e.status} = 'dead' AND ${e.completedAt} >= ${periodAgo}) AS failed_24h
|
|
820
994
|
FROM ${e}
|
|
821
995
|
`, t.object({
|
|
822
996
|
running: t.string(),
|
|
@@ -861,10 +1035,7 @@ var JobService = class {
|
|
|
861
1035
|
retries: opts.retry.retries,
|
|
862
1036
|
hasBackoff: Boolean(opts.retry.backoff)
|
|
863
1037
|
} : void 0,
|
|
864
|
-
|
|
865
|
-
size: opts.batch.size,
|
|
866
|
-
window: String(opts.batch.window)
|
|
867
|
-
} : void 0
|
|
1038
|
+
paused: this.jobProvider.isJobPaused(name)
|
|
868
1039
|
};
|
|
869
1040
|
result.push(registration);
|
|
870
1041
|
}
|
|
@@ -938,6 +1109,23 @@ var JobService = class {
|
|
|
938
1109
|
});
|
|
939
1110
|
return { ok: true };
|
|
940
1111
|
}
|
|
1112
|
+
pauseJob(name, context) {
|
|
1113
|
+
const job = this.alepha.primitives($job).find((j) => j.name === name);
|
|
1114
|
+
if (!job) throw new NotFoundError(`Job not found: ${name}`);
|
|
1115
|
+
this.log.info(`Pausing job '${name}'`, { pausedBy: context?.pausedByName ?? context?.pausedBy });
|
|
1116
|
+
job.pause();
|
|
1117
|
+
return { ok: true };
|
|
1118
|
+
}
|
|
1119
|
+
async resumeJob(name, context) {
|
|
1120
|
+
const job = this.alepha.primitives($job).find((j) => j.name === name);
|
|
1121
|
+
if (!job) throw new NotFoundError(`Job not found: ${name}`);
|
|
1122
|
+
this.log.info(`Resuming job '${name}'`, { resumedBy: context?.resumedByName ?? context?.resumedBy });
|
|
1123
|
+
await job.resume();
|
|
1124
|
+
return { ok: true };
|
|
1125
|
+
}
|
|
1126
|
+
getPausedJobs() {
|
|
1127
|
+
return this.jobProvider.getPausedJobs();
|
|
1128
|
+
}
|
|
941
1129
|
async getCronJobs() {
|
|
942
1130
|
const jobs = this.jobProvider.getRegisteredJobs();
|
|
943
1131
|
const cronJobNames = [];
|
|
@@ -954,6 +1142,7 @@ var JobService = class {
|
|
|
954
1142
|
priority: opts.priority ?? "normal",
|
|
955
1143
|
concurrency: opts.concurrency ?? 1,
|
|
956
1144
|
hasSchema: Boolean(opts.schema),
|
|
1145
|
+
paused: this.jobProvider.isJobPaused(name),
|
|
957
1146
|
lastExecution: last ? {
|
|
958
1147
|
id: last.id,
|
|
959
1148
|
status: last.status,
|
|
@@ -997,7 +1186,8 @@ var JobService = class {
|
|
|
997
1186
|
scheduled: Number(row?.scheduled ?? 0),
|
|
998
1187
|
retrying: Number(row?.retrying ?? 0),
|
|
999
1188
|
dead: Number(row?.dead ?? 0),
|
|
1000
|
-
concurrency: reg.options.concurrency ?? 1
|
|
1189
|
+
concurrency: reg.options.concurrency ?? 1,
|
|
1190
|
+
paused: this.jobProvider.isJobPaused(name)
|
|
1001
1191
|
});
|
|
1002
1192
|
}
|
|
1003
1193
|
return result;
|
|
@@ -1015,10 +1205,10 @@ var JobService = class {
|
|
|
1015
1205
|
SELECT
|
|
1016
1206
|
ds.date::text AS date,
|
|
1017
1207
|
COALESCE(COUNT(*) FILTER (WHERE ${e.status} = 'completed'), 0) AS completed,
|
|
1018
|
-
COALESCE(COUNT(*) FILTER (WHERE ${e.status}
|
|
1208
|
+
COALESCE(COUNT(*) FILTER (WHERE ${e.status} = 'dead'), 0) AS failed
|
|
1019
1209
|
FROM date_series ds
|
|
1020
1210
|
LEFT JOIN ${e} ON DATE(${e.completedAt}) = ds.date
|
|
1021
|
-
AND ${e.status} IN ('completed', 'dead'
|
|
1211
|
+
AND ${e.status} IN ('completed', 'dead')
|
|
1022
1212
|
GROUP BY ds.date
|
|
1023
1213
|
ORDER BY ds.date ASC
|
|
1024
1214
|
`, t.object({
|
|
@@ -1034,11 +1224,7 @@ var JobService = class {
|
|
|
1034
1224
|
async getActivitySqlite(days = 14) {
|
|
1035
1225
|
const startDate = this.dt.now().subtract(days - 1, "day");
|
|
1036
1226
|
const where = this.executions.createQueryWhere();
|
|
1037
|
-
where.status = { inArray: [
|
|
1038
|
-
"completed",
|
|
1039
|
-
"dead",
|
|
1040
|
-
"failed"
|
|
1041
|
-
] };
|
|
1227
|
+
where.status = { inArray: ["completed", "dead"] };
|
|
1042
1228
|
where.completedAt = { gte: startDate.startOf("day").toISOString() };
|
|
1043
1229
|
const executions = await this.executions.findMany({ where });
|
|
1044
1230
|
const byDate = /* @__PURE__ */ new Map();
|
|
@@ -1071,7 +1257,7 @@ var JobService = class {
|
|
|
1071
1257
|
COUNT(*) AS failures,
|
|
1072
1258
|
(ARRAY_AGG(${e.error} ORDER BY ${e.completedAt} DESC))[1] AS last_error
|
|
1073
1259
|
FROM ${e}
|
|
1074
|
-
WHERE ${e.status}
|
|
1260
|
+
WHERE ${e.status} = 'dead'
|
|
1075
1261
|
AND ${e.completedAt} >= ${periodAgoIso}
|
|
1076
1262
|
GROUP BY ${e.jobName}
|
|
1077
1263
|
ORDER BY failures DESC
|
|
@@ -1087,7 +1273,7 @@ var JobService = class {
|
|
|
1087
1273
|
}
|
|
1088
1274
|
async getTopFailuresSqlite(periodAgoIso) {
|
|
1089
1275
|
const where = this.executions.createQueryWhere();
|
|
1090
|
-
where.status = {
|
|
1276
|
+
where.status = { eq: "dead" };
|
|
1091
1277
|
where.completedAt = { gte: periodAgoIso };
|
|
1092
1278
|
const failures = await this.executions.findMany({
|
|
1093
1279
|
where,
|
|
@@ -1284,6 +1470,45 @@ var AdminJobController = class {
|
|
|
1284
1470
|
},
|
|
1285
1471
|
handler: ({ query }) => this.jobService.getTopFailures(query.days)
|
|
1286
1472
|
});
|
|
1473
|
+
pauseJob = $action({
|
|
1474
|
+
method: "POST",
|
|
1475
|
+
path: `${this.url}/pause`,
|
|
1476
|
+
group: this.group,
|
|
1477
|
+
use: [$secure({ permissions: ["admin:job:trigger"] })],
|
|
1478
|
+
schema: {
|
|
1479
|
+
body: t.object({ name: t.text() }),
|
|
1480
|
+
response: okSchema
|
|
1481
|
+
},
|
|
1482
|
+
handler: ({ body, user }) => {
|
|
1483
|
+
return this.jobService.pauseJob(body.name, {
|
|
1484
|
+
pausedBy: user?.id,
|
|
1485
|
+
pausedByName: user?.name
|
|
1486
|
+
});
|
|
1487
|
+
}
|
|
1488
|
+
});
|
|
1489
|
+
resumeJob = $action({
|
|
1490
|
+
method: "POST",
|
|
1491
|
+
path: `${this.url}/resume`,
|
|
1492
|
+
group: this.group,
|
|
1493
|
+
use: [$secure({ permissions: ["admin:job:trigger"] })],
|
|
1494
|
+
schema: {
|
|
1495
|
+
body: t.object({ name: t.text() }),
|
|
1496
|
+
response: okSchema
|
|
1497
|
+
},
|
|
1498
|
+
handler: async ({ body, user }) => {
|
|
1499
|
+
return this.jobService.resumeJob(body.name, {
|
|
1500
|
+
resumedBy: user?.id,
|
|
1501
|
+
resumedByName: user?.name
|
|
1502
|
+
});
|
|
1503
|
+
}
|
|
1504
|
+
});
|
|
1505
|
+
getPausedJobs = $action({
|
|
1506
|
+
path: `${this.url}/paused`,
|
|
1507
|
+
group: this.group,
|
|
1508
|
+
use: [$secure({ permissions: ["admin:job:read"] })],
|
|
1509
|
+
schema: { response: t.array(t.text()) },
|
|
1510
|
+
handler: () => this.jobService.getPausedJobs()
|
|
1511
|
+
});
|
|
1287
1512
|
};
|
|
1288
1513
|
//#endregion
|
|
1289
1514
|
//#region ../../src/api/jobs/providers/JobQueueProvider.ts
|
|
@@ -1345,7 +1570,6 @@ const AlephaApiJobs = $module({
|
|
|
1345
1570
|
AlephaQueue,
|
|
1346
1571
|
AlephaScheduler,
|
|
1347
1572
|
AlephaLock,
|
|
1348
|
-
AlephaBatch,
|
|
1349
1573
|
JobProvider,
|
|
1350
1574
|
JobQueueProvider,
|
|
1351
1575
|
JobService,
|
|
@@ -1356,7 +1580,6 @@ const AlephaApiJobs = $module({
|
|
|
1356
1580
|
const useQueue = env.ALEPHA_JOBS_QUEUE === 1 ? true : env.ALEPHA_JOBS_QUEUE === 0 ? false : !alepha.isServerless();
|
|
1357
1581
|
alepha.with(AlephaScheduler);
|
|
1358
1582
|
alepha.with(AlephaLock);
|
|
1359
|
-
alepha.with(AlephaBatch);
|
|
1360
1583
|
alepha.with(JobProvider);
|
|
1361
1584
|
alepha.with(JobService);
|
|
1362
1585
|
alepha.with(AdminJobController);
|