@shivaedev/jobs 0.30.0 → 0.32.0
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/CHANGELOG.md +50 -0
- package/README.md +88 -24
- package/dist/display.d.ts +14 -0
- package/dist/display.d.ts.map +1 -0
- package/dist/display.js +2 -0
- package/dist/display.js.map +1 -0
- package/dist/server/ClientDatabase.d.ts +21 -0
- package/dist/server/ClientDatabase.d.ts.map +1 -0
- package/dist/server/ClientDatabase.js +2 -0
- package/dist/server/ClientDatabase.js.map +1 -0
- package/dist/server/PgBoss.d.ts +2 -2
- package/dist/server/PgBoss.d.ts.map +1 -1
- package/dist/server/adapters/batchClockOffset.d.ts +2 -2
- package/dist/server/adapters/batchClockOffset.d.ts.map +1 -1
- package/dist/server/adapters/batchClockOffset.js +5 -4
- package/dist/server/adapters/batchClockOffset.js.map +1 -1
- package/dist/server/adapters/batchHandler.d.ts +5 -0
- package/dist/server/adapters/batchHandler.d.ts.map +1 -0
- package/dist/server/{internal → adapters}/batchHandler.js +6 -6
- package/dist/server/adapters/batchHandler.js.map +1 -0
- package/dist/server/adapters/clientCache.d.ts +10 -0
- package/dist/server/adapters/clientCache.d.ts.map +1 -0
- package/dist/server/{internal → adapters}/clientCache.js +5 -19
- package/dist/server/adapters/clientCache.js.map +1 -0
- package/dist/server/adapters/clientErrorLogger.js +1 -1
- package/dist/server/adapters/clientErrorLogger.js.map +1 -1
- package/dist/server/adapters/defaultClientFactory.d.ts +4 -0
- package/dist/server/adapters/defaultClientFactory.d.ts.map +1 -0
- package/dist/server/adapters/defaultClientFactory.js.map +1 -0
- package/dist/server/adapters/deferralCount.d.ts +3 -3
- package/dist/server/adapters/deferralCount.d.ts.map +1 -1
- package/dist/server/adapters/deferralCount.js +2 -2
- package/dist/server/adapters/deferralCount.js.map +1 -1
- package/dist/server/adapters/expireAttempt.d.ts +4 -0
- package/dist/server/adapters/expireAttempt.d.ts.map +1 -0
- package/dist/server/{internal → adapters}/expireAttempt.js +1 -1
- package/dist/server/{internal → adapters}/expireAttempt.js.map +1 -1
- package/dist/server/adapters/inspection.d.ts +5 -0
- package/dist/server/adapters/inspection.d.ts.map +1 -0
- package/dist/server/adapters/inspection.js +25 -0
- package/dist/server/adapters/inspection.js.map +1 -0
- package/dist/server/adapters/inspectionChanges.d.ts +7 -0
- package/dist/server/adapters/inspectionChanges.d.ts.map +1 -0
- package/dist/server/adapters/inspectionChanges.js +23 -0
- package/dist/server/adapters/inspectionChanges.js.map +1 -0
- package/dist/server/adapters/inspectionDeferrals.d.ts +10 -0
- package/dist/server/adapters/inspectionDeferrals.d.ts.map +1 -0
- package/dist/server/adapters/inspectionDeferrals.js +13 -0
- package/dist/server/adapters/inspectionDeferrals.js.map +1 -0
- package/dist/server/adapters/inspectionJobs.d.ts +50 -0
- package/dist/server/adapters/inspectionJobs.d.ts.map +1 -0
- package/dist/server/adapters/inspectionJobs.js +21 -0
- package/dist/server/adapters/inspectionJobs.js.map +1 -0
- package/dist/server/adapters/inspectionOperation.d.ts +3 -0
- package/dist/server/adapters/inspectionOperation.d.ts.map +1 -0
- package/dist/server/adapters/inspectionOperation.js +6 -0
- package/dist/server/adapters/inspectionOperation.js.map +1 -0
- package/dist/server/adapters/inspectionPlan.d.ts +3 -0
- package/dist/server/adapters/inspectionPlan.d.ts.map +1 -0
- package/dist/server/adapters/inspectionPlan.js +20 -0
- package/dist/server/adapters/inspectionPlan.js.map +1 -0
- package/dist/server/adapters/inspectionReads.d.ts +59 -0
- package/dist/server/adapters/inspectionReads.d.ts.map +1 -0
- package/dist/server/adapters/inspectionReads.js +44 -0
- package/dist/server/adapters/inspectionReads.js.map +1 -0
- package/dist/server/adapters/inspectionSnapshot.d.ts +6 -0
- package/dist/server/adapters/inspectionSnapshot.d.ts.map +1 -0
- package/dist/server/{internal/testingSnapshot.js → adapters/inspectionSnapshot.js} +10 -8
- package/dist/server/adapters/inspectionSnapshot.js.map +1 -0
- package/dist/server/adapters/installSchema.d.ts +1 -1
- package/dist/server/adapters/installSchema.d.ts.map +1 -1
- package/dist/server/adapters/installSchema.js +1 -1
- package/dist/server/adapters/installSchema.js.map +1 -1
- package/dist/server/adapters/jobEngine.d.ts +5 -0
- package/dist/server/adapters/jobEngine.d.ts.map +1 -0
- package/dist/server/adapters/jobEngine.js +46 -0
- package/dist/server/adapters/jobEngine.js.map +1 -0
- package/dist/server/adapters/lifecycle.d.ts +11 -0
- package/dist/server/adapters/lifecycle.d.ts.map +1 -0
- package/dist/server/adapters/lifecycle.js +48 -0
- package/dist/server/adapters/lifecycle.js.map +1 -0
- package/dist/server/adapters/listJobs.d.ts +5 -0
- package/dist/server/adapters/listJobs.d.ts.map +1 -0
- package/dist/server/adapters/listJobs.js +37 -0
- package/dist/server/adapters/listJobs.js.map +1 -0
- package/dist/server/adapters/payloadIdentity.d.ts +3 -0
- package/dist/server/adapters/payloadIdentity.d.ts.map +1 -0
- package/dist/server/adapters/payloadIdentity.js +14 -0
- package/dist/server/adapters/payloadIdentity.js.map +1 -0
- package/dist/server/adapters/queueAdministration.d.ts +4 -0
- package/dist/server/adapters/queueAdministration.d.ts.map +1 -0
- package/dist/server/adapters/queueAdministration.js +42 -0
- package/dist/server/adapters/queueAdministration.js.map +1 -0
- package/dist/server/{internal/testingSignal.d.ts → adapters/queueSignal.d.ts} +2 -2
- package/dist/server/adapters/queueSignal.d.ts.map +1 -0
- package/dist/server/{internal/testingSignal.js → adapters/queueSignal.js} +2 -2
- package/dist/server/adapters/queueSignal.js.map +1 -0
- package/dist/server/adapters/registerWorker.d.ts +5 -3
- package/dist/server/adapters/registerWorker.d.ts.map +1 -1
- package/dist/server/adapters/registerWorker.js +9 -6
- package/dist/server/adapters/registerWorker.js.map +1 -1
- package/dist/server/adapters/retireJobs.d.ts +3 -3
- package/dist/server/adapters/retireJobs.d.ts.map +1 -1
- package/dist/server/adapters/retireJobs.js +3 -3
- package/dist/server/adapters/retireJobs.js.map +1 -1
- package/dist/server/adapters/schemaIndexBuilds.d.ts +2 -2
- package/dist/server/adapters/schemaIndexBuilds.d.ts.map +1 -1
- package/dist/server/adapters/schemaIndexBuilds.js.map +1 -1
- package/dist/server/adapters/settleDeferral.d.ts +7 -0
- package/dist/server/adapters/settleDeferral.d.ts.map +1 -0
- package/dist/server/{internal → adapters}/settleDeferral.js +2 -2
- package/dist/server/adapters/settleDeferral.js.map +1 -0
- package/dist/server/adapters/testingClient.d.ts +13 -0
- package/dist/server/adapters/testingClient.d.ts.map +1 -0
- package/dist/server/{internal → adapters}/testingClient.js +27 -48
- package/dist/server/adapters/testingClient.js.map +1 -0
- package/dist/server/adapters/testingController.d.ts +79 -0
- package/dist/server/adapters/testingController.d.ts.map +1 -0
- package/dist/server/adapters/testingController.js +108 -0
- package/dist/server/adapters/testingController.js.map +1 -0
- package/dist/server/adapters/testingDueNow.d.ts +3 -3
- package/dist/server/adapters/testingDueNow.d.ts.map +1 -1
- package/dist/server/adapters/testingDueNow.js +2 -2
- package/dist/server/adapters/testingDueNow.js.map +1 -1
- package/dist/server/adapters/testingEngine.d.ts +5 -0
- package/dist/server/adapters/testingEngine.d.ts.map +1 -0
- package/dist/server/adapters/testingEngine.js +12 -0
- package/dist/server/adapters/testingEngine.js.map +1 -0
- package/dist/server/adapters/testingExpirations.d.ts +6 -4
- package/dist/server/adapters/testingExpirations.d.ts.map +1 -1
- package/dist/server/adapters/testingExpirations.js.map +1 -1
- package/dist/server/adapters/testingInspectionClient.d.ts +5 -0
- package/dist/server/adapters/testingInspectionClient.d.ts.map +1 -0
- package/dist/server/adapters/testingInspectionClient.js +52 -0
- package/dist/server/adapters/testingInspectionClient.js.map +1 -0
- package/dist/server/adapters/transactionDb.d.ts +2 -2
- package/dist/server/adapters/transactionDb.d.ts.map +1 -1
- package/dist/server/adapters/transactionDb.js.map +1 -1
- package/dist/server/client.d.ts +95 -18
- package/dist/server/client.d.ts.map +1 -1
- package/dist/server/clientOptions.d.ts +74 -0
- package/dist/server/clientOptions.d.ts.map +1 -0
- package/dist/server/clientOptions.js +2 -0
- package/dist/server/clientOptions.js.map +1 -0
- package/dist/server/defineSchedule.d.ts +1 -1
- package/dist/server/defineSchedule.d.ts.map +1 -1
- package/dist/server/defineSchedule.js +2 -1
- package/dist/server/defineSchedule.js.map +1 -1
- package/dist/server/definition.d.ts +29 -26
- package/dist/server/definition.d.ts.map +1 -1
- package/dist/server/definition.js +5 -2
- package/dist/server/definition.js.map +1 -1
- package/dist/server/engineClient.d.ts +21 -0
- package/dist/server/engineClient.d.ts.map +1 -0
- package/dist/server/engineClient.js +2 -0
- package/dist/server/engineClient.js.map +1 -0
- package/dist/server/enqueueOptions.d.ts +28 -0
- package/dist/server/enqueueOptions.d.ts.map +1 -0
- package/dist/server/enqueueOptions.js +2 -0
- package/dist/server/enqueueOptions.js.map +1 -0
- package/dist/server/error.d.ts +11 -1
- package/dist/server/error.d.ts.map +1 -1
- package/dist/server/error.js +8 -1
- package/dist/server/error.js.map +1 -1
- package/dist/server/health.d.ts +2 -2
- package/dist/server/health.d.ts.map +1 -1
- package/dist/server/inspection.d.ts +102 -0
- package/dist/server/inspection.d.ts.map +1 -0
- package/dist/server/inspection.js +30 -0
- package/dist/server/inspection.js.map +1 -0
- package/dist/server/internal/acquireClient.d.ts +11 -0
- package/dist/server/internal/acquireClient.d.ts.map +1 -0
- package/dist/server/internal/acquireClient.js +21 -0
- package/dist/server/internal/acquireClient.js.map +1 -0
- package/dist/server/internal/adapters/testingFetches.d.ts +2 -2
- package/dist/server/internal/adapters/testingFetches.d.ts.map +1 -1
- package/dist/server/internal/adapters/testingFetches.js.map +1 -1
- package/dist/server/internal/clientErrors.d.ts +1 -1
- package/dist/server/internal/clientErrors.d.ts.map +1 -1
- package/dist/server/internal/countsFor.d.ts +3 -3
- package/dist/server/internal/countsFor.d.ts.map +1 -1
- package/dist/server/internal/countsFor.js +2 -2
- package/dist/server/internal/countsFor.js.map +1 -1
- package/dist/server/internal/deadLetterResolutionPlan.js +1 -1
- package/dist/server/internal/deadLetterResolutionPlan.js.map +1 -1
- package/dist/server/internal/deadlineOf.d.ts +2 -2
- package/dist/server/internal/deadlineOf.d.ts.map +1 -1
- package/dist/server/internal/deadlineOf.js.map +1 -1
- package/dist/server/internal/deferrableAttempt.d.ts +4 -5
- package/dist/server/internal/deferrableAttempt.d.ts.map +1 -1
- package/dist/server/internal/deferrableAttempt.js +5 -14
- package/dist/server/internal/deferrableAttempt.js.map +1 -1
- package/dist/server/internal/deferral.d.ts +2 -4
- package/dist/server/internal/deferral.d.ts.map +1 -1
- package/dist/server/internal/deferral.js +0 -1
- package/dist/server/internal/deferral.js.map +1 -1
- package/dist/server/internal/deferralStorePlan.js +2 -2
- package/dist/server/internal/deferralStorePlan.js.map +1 -1
- package/dist/server/internal/definitionOptions.d.ts +7 -7
- package/dist/server/internal/definitionOptions.d.ts.map +1 -1
- package/dist/server/internal/engine.d.ts +25 -0
- package/dist/server/internal/engine.d.ts.map +1 -0
- package/dist/server/internal/engine.js +6 -0
- package/dist/server/internal/engine.js.map +1 -0
- package/dist/server/internal/enqueueFor.d.ts +2 -2
- package/dist/server/internal/enqueueFor.d.ts.map +1 -1
- package/dist/server/internal/enqueueFor.js +14 -4
- package/dist/server/internal/enqueueFor.js.map +1 -1
- package/dist/server/internal/ensureQueue.d.ts +2 -3
- package/dist/server/internal/ensureQueue.d.ts.map +1 -1
- package/dist/server/internal/ensureQueue.js +2 -2
- package/dist/server/internal/ensureQueue.js.map +1 -1
- package/dist/server/internal/healthFor.d.ts +3 -3
- package/dist/server/internal/healthFor.d.ts.map +1 -1
- package/dist/server/internal/healthFor.js +2 -2
- package/dist/server/internal/healthFor.js.map +1 -1
- package/dist/server/internal/jobControl.d.ts +9 -4
- package/dist/server/internal/jobControl.d.ts.map +1 -1
- package/dist/server/internal/jobControl.js +13 -40
- package/dist/server/internal/jobControl.js.map +1 -1
- package/dist/server/internal/jobListings.d.ts +16 -0
- package/dist/server/internal/jobListings.d.ts.map +1 -0
- package/dist/server/internal/jobListings.js +52 -0
- package/dist/server/internal/jobListings.js.map +1 -0
- package/dist/server/internal/jobStorePlans.d.ts.map +1 -1
- package/dist/server/internal/jobStorePlans.js +4 -3
- package/dist/server/internal/jobStorePlans.js.map +1 -1
- package/dist/server/internal/lifecycle.d.ts +11 -7
- package/dist/server/internal/lifecycle.d.ts.map +1 -1
- package/dist/server/internal/lifecycle.js +2 -49
- package/dist/server/internal/lifecycle.js.map +1 -1
- package/dist/server/internal/makeService.d.ts +5 -3
- package/dist/server/internal/makeService.d.ts.map +1 -1
- package/dist/server/internal/makeService.js +18 -13
- package/dist/server/internal/makeService.js.map +1 -1
- package/dist/server/internal/register.d.ts +5 -5
- package/dist/server/internal/register.d.ts.map +1 -1
- package/dist/server/internal/register.js +5 -9
- package/dist/server/internal/register.js.map +1 -1
- package/dist/server/internal/registerReleasedJobs.d.ts +4 -4
- package/dist/server/internal/registerReleasedJobs.d.ts.map +1 -1
- package/dist/server/internal/registerReleasedJobs.js +2 -2
- package/dist/server/internal/registerReleasedJobs.js.map +1 -1
- package/dist/server/internal/retryWake.d.ts +1 -1
- package/dist/server/internal/retryWake.d.ts.map +1 -1
- package/dist/server/internal/retryWake.js +2 -2
- package/dist/server/internal/retryWake.js.map +1 -1
- package/dist/server/internal/runQueueWorker.d.ts +4 -4
- package/dist/server/internal/runQueueWorker.d.ts.map +1 -1
- package/dist/server/internal/runQueueWorker.js +5 -5
- package/dist/server/internal/runQueueWorker.js.map +1 -1
- package/dist/server/internal/storedRows.d.ts +2 -2
- package/dist/server/internal/storedRows.d.ts.map +1 -1
- package/dist/server/internal/storedRows.js +2 -2
- package/dist/server/internal/storedRows.js.map +1 -1
- package/dist/server/internal/testingIdle.d.ts +4 -3
- package/dist/server/internal/testingIdle.d.ts.map +1 -1
- package/dist/server/internal/testingIdle.js +5 -25
- package/dist/server/internal/testingIdle.js.map +1 -1
- package/dist/server/internal/testingOperation.d.ts +5 -0
- package/dist/server/internal/testingOperation.d.ts.map +1 -0
- package/dist/server/internal/testingOperation.js +12 -0
- package/dist/server/internal/testingOperation.js.map +1 -0
- package/dist/server/internal/testingSchedules.d.ts +9 -6
- package/dist/server/internal/testingSchedules.d.ts.map +1 -1
- package/dist/server/internal/testingSchedules.js +14 -9
- package/dist/server/internal/testingSchedules.js.map +1 -1
- package/dist/server/internal/testingWaits.d.ts +12 -8
- package/dist/server/internal/testingWaits.d.ts.map +1 -1
- package/dist/server/internal/testingWaits.js +6 -7
- package/dist/server/internal/testingWaits.js.map +1 -1
- package/dist/server/internal/tracing.d.ts +2 -2
- package/dist/server/internal/tracing.d.ts.map +1 -1
- package/dist/server/internal/tracing.js.map +1 -1
- package/dist/server/internal/validateQueueNames.d.ts +2 -2
- package/dist/server/internal/validateQueueNames.d.ts.map +1 -1
- package/dist/server/internal/validateQueueNames.js +1 -1
- package/dist/server/internal/validateQueueNames.js.map +1 -1
- package/dist/server/internal/waitForBatchExpiry.d.ts +4 -4
- package/dist/server/internal/waitForBatchExpiry.d.ts.map +1 -1
- package/dist/server/internal/waitForBatchExpiry.js +1 -1
- package/dist/server/internal/waitForBatchExpiry.js.map +1 -1
- package/dist/server/job.d.ts +42 -0
- package/dist/server/job.d.ts.map +1 -0
- package/dist/server/job.js +2 -0
- package/dist/server/job.js.map +1 -0
- package/dist/server/jobModule.d.ts +6 -4
- package/dist/server/jobModule.d.ts.map +1 -1
- package/dist/server/jobModule.js +7 -5
- package/dist/server/jobModule.js.map +1 -1
- package/dist/server/queueOptions.d.ts +19 -0
- package/dist/server/queueOptions.d.ts.map +1 -0
- package/dist/server/queueOptions.js +2 -0
- package/dist/server/queueOptions.js.map +1 -0
- package/dist/server/readJobFailure.d.ts +5 -0
- package/dist/server/readJobFailure.d.ts.map +1 -0
- package/dist/server/readJobFailure.js +8 -0
- package/dist/server/readJobFailure.js.map +1 -0
- package/dist/server/schema.d.ts +1 -1
- package/dist/server/schema.d.ts.map +1 -1
- package/dist/server/schema.js +23 -7
- package/dist/server/schema.js.map +1 -1
- package/dist/server/service.d.ts +17 -12
- package/dist/server/service.d.ts.map +1 -1
- package/dist/server/service.js +19 -27
- package/dist/server/service.js.map +1 -1
- package/dist/server/testing.d.ts +63 -67
- package/dist/server/testing.d.ts.map +1 -1
- package/dist/server/testing.js +5 -97
- package/dist/server/testing.js.map +1 -1
- package/dist/server/workerOptions.d.ts +25 -0
- package/dist/server/workerOptions.d.ts.map +1 -0
- package/dist/server/workerOptions.js +2 -0
- package/dist/server/workerOptions.js.map +1 -0
- package/package.json +11 -16
- package/src/display.ts +12 -0
- package/src/server/ClientDatabase.ts +7 -0
- package/src/server/PgBoss.ts +2 -2
- package/src/server/adapters/batchClockOffset.ts +8 -5
- package/src/server/{internal → adapters}/batchHandler.ts +13 -13
- package/src/server/{internal → adapters}/clientCache.ts +10 -22
- package/src/server/adapters/clientErrorLogger.ts +1 -1
- package/src/server/{defaultClientFactory.ts → adapters/defaultClientFactory.ts} +4 -2
- package/src/server/adapters/deferralCount.ts +5 -5
- package/src/server/{internal → adapters}/expireAttempt.ts +4 -3
- package/src/server/adapters/inspection.ts +31 -0
- package/src/server/adapters/inspectionChanges.ts +31 -0
- package/src/server/adapters/inspectionDeferrals.ts +20 -0
- package/src/server/adapters/inspectionJobs.ts +28 -0
- package/src/server/adapters/inspectionOperation.ts +6 -0
- package/src/server/adapters/inspectionPlan.ts +21 -0
- package/src/server/adapters/inspectionReads.ts +55 -0
- package/src/server/{internal/testingSnapshot.ts → adapters/inspectionSnapshot.ts} +16 -18
- package/src/server/adapters/installSchema.ts +2 -2
- package/src/server/adapters/jobEngine.ts +55 -0
- package/src/server/adapters/lifecycle.ts +67 -0
- package/src/server/adapters/listJobs.ts +43 -0
- package/src/server/adapters/payloadIdentity.ts +15 -0
- package/src/server/adapters/queueAdministration.ts +47 -0
- package/src/server/{internal/testingSignal.ts → adapters/queueSignal.ts} +1 -1
- package/src/server/adapters/registerWorker.ts +17 -12
- package/src/server/adapters/retireJobs.ts +5 -5
- package/src/server/adapters/schemaIndexBuilds.ts +2 -2
- package/src/server/{internal → adapters}/settleDeferral.ts +5 -5
- package/src/server/{internal → adapters}/testingClient.ts +24 -40
- package/src/server/adapters/testingController.ts +125 -0
- package/src/server/adapters/testingDueNow.ts +5 -5
- package/src/server/adapters/testingEngine.ts +15 -0
- package/src/server/adapters/testingExpirations.ts +6 -4
- package/src/server/adapters/testingInspectionClient.ts +70 -0
- package/src/server/adapters/transactionDb.ts +2 -2
- package/src/server/client.ts +86 -30
- package/src/server/clientOptions.ts +80 -0
- package/src/server/defineSchedule.ts +3 -2
- package/src/server/definition.ts +38 -29
- package/src/server/engineClient.ts +22 -0
- package/src/server/enqueueOptions.ts +25 -0
- package/src/server/error.ts +18 -2
- package/src/server/health.ts +2 -2
- package/src/server/inspection.ts +50 -0
- package/src/server/internal/acquireClient.ts +26 -0
- package/src/server/internal/adapters/testingFetches.ts +2 -2
- package/src/server/internal/clientErrors.ts +1 -1
- package/src/server/internal/countsFor.ts +5 -5
- package/src/server/internal/deadLetterResolutionPlan.ts +1 -1
- package/src/server/internal/deadlineOf.ts +2 -2
- package/src/server/internal/deferrableAttempt.ts +5 -22
- package/src/server/internal/deferral.ts +2 -4
- package/src/server/internal/deferralStorePlan.ts +2 -2
- package/src/server/internal/definitionOptions.ts +1 -1
- package/src/server/internal/engine.ts +35 -0
- package/src/server/internal/enqueueFor.ts +19 -6
- package/src/server/internal/ensureQueue.ts +5 -6
- package/src/server/internal/healthFor.ts +4 -4
- package/src/server/internal/jobControl.ts +15 -50
- package/src/server/internal/jobListings.ts +85 -0
- package/src/server/internal/jobStorePlans.ts +4 -3
- package/src/server/internal/lifecycle.ts +14 -55
- package/src/server/internal/makeService.ts +24 -15
- package/src/server/internal/register.ts +8 -12
- package/src/server/internal/registerReleasedJobs.ts +5 -5
- package/src/server/internal/retryWake.ts +3 -3
- package/src/server/internal/runQueueWorker.ts +8 -8
- package/src/server/internal/storedRows.ts +3 -3
- package/src/server/internal/testingIdle.ts +8 -31
- package/src/server/internal/testingOperation.ts +18 -0
- package/src/server/internal/testingSchedules.ts +29 -17
- package/src/server/internal/testingWaits.ts +16 -16
- package/src/server/internal/tracing.ts +2 -2
- package/src/server/internal/validateQueueNames.ts +2 -2
- package/src/server/internal/waitForBatchExpiry.ts +4 -4
- package/src/server/job.ts +42 -0
- package/src/server/jobModule.ts +19 -7
- package/src/server/queueOptions.ts +20 -0
- package/src/server/readJobFailure.ts +12 -0
- package/src/server/schema.ts +23 -7
- package/src/server/service.ts +43 -44
- package/src/server/testing.ts +4 -117
- package/src/server/workerOptions.ts +28 -0
- package/dist/server/defaultClientFactory.d.ts +0 -3
- package/dist/server/defaultClientFactory.d.ts.map +0 -1
- package/dist/server/defaultClientFactory.js.map +0 -1
- package/dist/server/internal/batchHandler.d.ts +0 -5
- package/dist/server/internal/batchHandler.d.ts.map +0 -1
- package/dist/server/internal/batchHandler.js.map +0 -1
- package/dist/server/internal/clientCache.d.ts +0 -8
- package/dist/server/internal/clientCache.d.ts.map +0 -1
- package/dist/server/internal/clientCache.js.map +0 -1
- package/dist/server/internal/expireAttempt.d.ts +0 -3
- package/dist/server/internal/expireAttempt.d.ts.map +0 -1
- package/dist/server/internal/listJobs.d.ts +0 -5
- package/dist/server/internal/listJobs.d.ts.map +0 -1
- package/dist/server/internal/listJobs.js +0 -75
- package/dist/server/internal/listJobs.js.map +0 -1
- package/dist/server/internal/observeTestingSettlements.d.ts +0 -6
- package/dist/server/internal/observeTestingSettlements.d.ts.map +0 -1
- package/dist/server/internal/observeTestingSettlements.js +0 -35
- package/dist/server/internal/observeTestingSettlements.js.map +0 -1
- package/dist/server/internal/settleDeferral.d.ts +0 -7
- package/dist/server/internal/settleDeferral.d.ts.map +0 -1
- package/dist/server/internal/settleDeferral.js.map +0 -1
- package/dist/server/internal/testingClient.d.ts +0 -13
- package/dist/server/internal/testingClient.d.ts.map +0 -1
- package/dist/server/internal/testingClient.js.map +0 -1
- package/dist/server/internal/testingDeferrals.d.ts +0 -10
- package/dist/server/internal/testingDeferrals.d.ts.map +0 -1
- package/dist/server/internal/testingDeferrals.js +0 -15
- package/dist/server/internal/testingDeferrals.js.map +0 -1
- package/dist/server/internal/testingReadout.d.ts +0 -44
- package/dist/server/internal/testingReadout.d.ts.map +0 -1
- package/dist/server/internal/testingReadout.js +0 -13
- package/dist/server/internal/testingReadout.js.map +0 -1
- package/dist/server/internal/testingRegistrations.d.ts +0 -4
- package/dist/server/internal/testingRegistrations.d.ts.map +0 -1
- package/dist/server/internal/testingRegistrations.js +0 -8
- package/dist/server/internal/testingRegistrations.js.map +0 -1
- package/dist/server/internal/testingSignal.d.ts.map +0 -1
- package/dist/server/internal/testingSignal.js.map +0 -1
- package/dist/server/internal/testingSnapshot.d.ts +0 -6
- package/dist/server/internal/testingSnapshot.d.ts.map +0 -1
- package/dist/server/internal/testingSnapshot.js.map +0 -1
- package/src/server/internal/listJobs.ts +0 -116
- package/src/server/internal/observeTestingSettlements.ts +0 -36
- package/src/server/internal/testingDeferrals.ts +0 -22
- package/src/server/internal/testingReadout.ts +0 -19
- package/src/server/internal/testingRegistrations.ts +0 -10
- /package/dist/server/{defaultClientFactory.js → adapters/defaultClientFactory.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientOptions.d.ts","sourceRoot":"","sources":["../../src/server/clientOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientOptions.js","sourceRoot":"","sources":["../../src/server/clientOptions.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { DefineScheduleOptions, ScheduleDefinition } from "#definition.ts";
|
|
1
|
+
import type { DefineScheduleOptions, ScheduleDefinition } from "#server/definition.ts";
|
|
2
2
|
export declare function defineSchedule<const TName extends string>(options: DefineScheduleOptions<TName>): ScheduleDefinition<TName>;
|
|
3
3
|
//# sourceMappingURL=defineSchedule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineSchedule.d.ts","sourceRoot":"","sources":["../../src/server/defineSchedule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"defineSchedule.d.ts","sourceRoot":"","sources":["../../src/server/defineSchedule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGvF,wBAAgB,cAAc,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAkB3H"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { maxDeferrals, nativeQueueOptions } from "#internal/definitionOptions.ts";
|
|
1
|
+
import { maxDeferrals, nativeQueueOptions } from "#server/internal/definitionOptions.ts";
|
|
2
2
|
export function defineSchedule(options) {
|
|
3
3
|
const definition = {
|
|
4
4
|
_tag: "ScheduleDefinition",
|
|
5
|
+
...(options.label === undefined ? {} : { label: options.label }),
|
|
5
6
|
cron: options.cron,
|
|
6
7
|
maxDeferrals: maxDeferrals(options.queue),
|
|
7
8
|
name: options.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineSchedule.js","sourceRoot":"","sources":["../../src/server/defineSchedule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"defineSchedule.js","sourceRoot":"","sources":["../../src/server/defineSchedule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAEzF,MAAM,UAAU,cAAc,CAA6B,OAAqC;IAC/F,MAAM,UAAU,GAA8B;QAC7C,IAAI,EAAE,oBAAoB;QAC1B,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;QACzC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/C,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CACf,MAAM,CAAC,MAAM,CAAC;YACb,IAAI,EAAE,iBAA0B;YAChC,MAAM;YACN,QAAQ,EAAE,UAAU;SACpB,CAAC;QACH,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAClE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;KAC5F,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { Duration, Effect, Schema } from "effect";
|
|
2
|
-
import type {
|
|
2
|
+
import type { QueueDisplay, SubjectColumn } from "#display.ts";
|
|
3
|
+
import type { ScheduleOptions } from "#server/enqueueOptions.ts";
|
|
4
|
+
import type { WorkerJob } from "#server/job.ts";
|
|
5
|
+
import type { QueueOptions, QueuePolicy } from "#server/queueOptions.ts";
|
|
6
|
+
import type { WorkerOptions } from "#server/workerOptions.ts";
|
|
3
7
|
declare const RetryAt_base: Schema.Class<RetryAt, Schema.TaggedStruct<"RetryAt", {
|
|
4
8
|
readonly at: Schema.DateTimeUtc;
|
|
5
9
|
readonly reason: Schema.String;
|
|
6
10
|
}>, import("effect/Cause").YieldableError>;
|
|
7
11
|
export declare class RetryAt extends RetryAt_base {
|
|
8
12
|
}
|
|
9
|
-
export type QueuePolicy = (typeof policies)[keyof typeof policies];
|
|
10
|
-
export type QueueOptions = Omit<Queue, "name" | "deadLetter" | "policy"> & {
|
|
11
|
-
readonly maxDeferrals?: number;
|
|
12
|
-
readonly policy?: QueuePolicy;
|
|
13
|
-
};
|
|
14
13
|
export interface JobPayloadSchema extends Schema.Top {
|
|
15
14
|
readonly Encoded: object;
|
|
16
15
|
readonly Type: object;
|
|
@@ -25,15 +24,16 @@ export interface JobContext {
|
|
|
25
24
|
readonly retryCount: number;
|
|
26
25
|
readonly signal: AbortSignal;
|
|
27
26
|
}
|
|
28
|
-
export interface QueueDefinition<TName extends string = string, TPayload extends JobPayloadSchema = JobPayloadSchema> {
|
|
27
|
+
export interface QueueDefinition<TName extends string = string, TPayload extends JobPayloadSchema = JobPayloadSchema> extends QueueDisplay {
|
|
29
28
|
readonly _tag: "QueueDefinition";
|
|
30
29
|
readonly handle: <E, R>(handler: (payload: Schema.Schema.Type<TPayload>, job: JobContext) => Effect.Effect<unknown, E, R>) => QueueWorker<TPayload, R>;
|
|
31
|
-
readonly
|
|
30
|
+
readonly id?: readonly string[] | undefined;
|
|
31
|
+
readonly key?: readonly string[] | undefined;
|
|
32
32
|
readonly maxDeferrals: number;
|
|
33
33
|
readonly name: TName;
|
|
34
|
-
readonly queueOptions: Omit<
|
|
34
|
+
readonly queueOptions: Omit<QueueOptions, "maxDeferrals">;
|
|
35
35
|
readonly schema: TPayload;
|
|
36
|
-
readonly workerOptions:
|
|
36
|
+
readonly workerOptions: WorkerOptions;
|
|
37
37
|
}
|
|
38
38
|
export interface QueueWorker<TPayload extends JobPayloadSchema = JobPayloadSchema, TRequirements = unknown> {
|
|
39
39
|
readonly _tag: "QueueWorker";
|
|
@@ -43,15 +43,15 @@ export interface QueueWorker<TPayload extends JobPayloadSchema = JobPayloadSchem
|
|
|
43
43
|
export type JobRegistration<TRequirements = unknown> = QueueDefinition | QueueWorker<JobPayloadSchema & {
|
|
44
44
|
readonly DecodingServices: TRequirements;
|
|
45
45
|
}, TRequirements> | ScheduledWorker<TRequirements>;
|
|
46
|
-
export interface ScheduleDefinition<TName extends string = string> {
|
|
46
|
+
export interface ScheduleDefinition<TName extends string = string> extends QueueDisplay {
|
|
47
47
|
readonly _tag: "ScheduleDefinition";
|
|
48
48
|
readonly cron: string;
|
|
49
49
|
readonly maxDeferrals: number;
|
|
50
50
|
readonly name: TName;
|
|
51
|
-
readonly queueOptions: Omit<
|
|
51
|
+
readonly queueOptions: Omit<QueueOptions, "maxDeferrals">;
|
|
52
52
|
readonly run: <E, R>(effect: Effect.Effect<unknown, E, R>) => ScheduledWorker<R>;
|
|
53
53
|
readonly scheduleOptions: ScheduleOptions;
|
|
54
|
-
readonly workerOptions:
|
|
54
|
+
readonly workerOptions: WorkerOptions;
|
|
55
55
|
}
|
|
56
56
|
export interface ScheduledWorker<TRequirements = unknown> {
|
|
57
57
|
readonly _tag: "ScheduledWorker";
|
|
@@ -59,12 +59,18 @@ export interface ScheduledWorker<TRequirements = unknown> {
|
|
|
59
59
|
readonly schedule: ScheduleDefinition;
|
|
60
60
|
}
|
|
61
61
|
export type RegistrationRequirements<TRegistrations extends readonly JobRegistration[]> = TRegistrations[number] extends infer TRegistration ? TRegistration extends QueueWorker<infer TPayload, infer TRequirements> ? TRequirements | TPayload["DecodingServices"] : TRegistration extends ScheduledWorker<infer TRequirements> ? TRequirements : never : never;
|
|
62
|
+
export type PayloadParts<TPayload extends JobPayloadSchema> = readonly {
|
|
63
|
+
[TField in Extract<keyof TPayload["Type"], string>]: TPayload["Type"][TField] extends string | number | boolean | null ? TField : never;
|
|
64
|
+
}[Extract<keyof TPayload["Type"], string>][];
|
|
62
65
|
export type DefineQueueOptions<TName extends string, TPayload extends JobPayloadSchema> = {
|
|
66
|
+
readonly id?: PayloadParts<NoInfer<TPayload>>;
|
|
67
|
+
readonly label?: string;
|
|
63
68
|
readonly name: TName;
|
|
64
69
|
readonly schema: TPayload;
|
|
65
|
-
readonly
|
|
70
|
+
readonly subject?: readonly SubjectColumn<NoInfer<TPayload>>[];
|
|
71
|
+
readonly worker?: WorkerOptions;
|
|
66
72
|
} & ({
|
|
67
|
-
readonly key:
|
|
73
|
+
readonly key: PayloadParts<NoInfer<TPayload>>;
|
|
68
74
|
readonly queue: QueueOptions & {
|
|
69
75
|
readonly policy: "singleton";
|
|
70
76
|
};
|
|
@@ -74,24 +80,21 @@ export type DefineQueueOptions<TName extends string, TPayload extends JobPayload
|
|
|
74
80
|
readonly policy?: Exclude<QueuePolicy, "singleton">;
|
|
75
81
|
};
|
|
76
82
|
});
|
|
77
|
-
export declare function defineQueue<const TName extends string, const TPayload extends JobPayloadSchema>(options: DefineQueueOptions<TName, TPayload> & {
|
|
78
|
-
readonly
|
|
83
|
+
export declare function defineQueue<const TName extends string, const TPayload extends JobPayloadSchema, const TId extends readonly string[] | undefined = undefined, const TKey extends readonly string[] | undefined = undefined>(options: DefineQueueOptions<TName, TPayload> & {
|
|
84
|
+
readonly id?: TId;
|
|
85
|
+
readonly key?: TKey;
|
|
79
86
|
}): QueueDefinition<TName, TPayload> & {
|
|
80
|
-
readonly
|
|
81
|
-
|
|
82
|
-
export declare function defineQueue<const TName extends string, const TPayload extends JobPayloadSchema>(options: DefineQueueOptions<TName, TPayload> & {
|
|
83
|
-
readonly key?: never;
|
|
84
|
-
}): QueueDefinition<TName, TPayload> & {
|
|
85
|
-
readonly key?: never;
|
|
87
|
+
readonly id?: TId;
|
|
88
|
+
readonly key?: TKey;
|
|
86
89
|
};
|
|
87
|
-
export declare function defineQueue<const TName extends string, const TPayload extends JobPayloadSchema>(options: DefineQueueOptions<TName, TPayload>): QueueDefinition<TName, TPayload>;
|
|
88
90
|
export interface DefineScheduleOptions<TName extends string> {
|
|
89
91
|
readonly cron: string;
|
|
92
|
+
readonly label?: string;
|
|
90
93
|
readonly name: TName;
|
|
91
94
|
readonly queue?: QueueOptions;
|
|
92
95
|
readonly schedule?: ScheduleOptions;
|
|
93
|
-
readonly worker?:
|
|
96
|
+
readonly worker?: WorkerOptions;
|
|
94
97
|
}
|
|
95
|
-
export declare function jobContext(job:
|
|
98
|
+
export declare function jobContext(job: WorkerJob<unknown>, deadline: number, deferralCount?: number): JobContext;
|
|
96
99
|
export {};
|
|
97
100
|
//# sourceMappingURL=definition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/server/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/server/definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Clock, Duration, Effect, Schema } from "effect";
|
|
2
|
-
import { maxDeferrals, nativeQueueOptions } from "#internal/definitionOptions.ts";
|
|
2
|
+
import { maxDeferrals, nativeQueueOptions } from "#server/internal/definitionOptions.ts";
|
|
3
3
|
export class RetryAt extends Schema.TaggedError()("RetryAt", {
|
|
4
4
|
at: Schema.DateTimeUtc,
|
|
5
5
|
reason: Schema.String,
|
|
@@ -8,7 +8,10 @@ export class RetryAt extends Schema.TaggedError()("RetryAt", {
|
|
|
8
8
|
export function defineQueue(options) {
|
|
9
9
|
const definition = {
|
|
10
10
|
_tag: "QueueDefinition",
|
|
11
|
-
|
|
11
|
+
id: options.id === undefined ? undefined : Object.freeze([...options.id]),
|
|
12
|
+
...(options.key === undefined ? {} : { key: Object.freeze([...options.key]) }),
|
|
13
|
+
...(options.label === undefined ? {} : { label: options.label }),
|
|
14
|
+
...(options.subject === undefined ? {} : { subject: Object.freeze(options.subject.map((column) => Object.freeze({ ...column }))) }),
|
|
12
15
|
handle: (handler) => Object.freeze({
|
|
13
16
|
_tag: "QueueWorker",
|
|
14
17
|
handler,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/server/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/server/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAKzF,MAAM,OAAO,OAAQ,SAAQ,MAAM,CAAC,WAAW,EAAW,CAAC,SAAS,EAAE;IACrE,EAAE,EAAE,MAAM,CAAC,WAAW;IACtB,MAAM,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC;CAAG;AA4FL,MAAM,UAAU,WAAW,CAC1B,OAA4C;IAE5C,MAAM,UAAU,GAAqC;QACpD,IAAI,EAAE,iBAAiB;QACvB,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnI,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CACnB,MAAM,CAAC,MAAM,CAAC;YACb,IAAI,EAAE,aAAsB;YAC5B,OAAO;YACP,KAAK,EAAE,UAAU;SACjB,CAAC;QACH,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;QACzC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;KAC5F,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC;AAWD,MAAM,UAAU,UAAU,CAAC,GAAuB,EAAE,QAAgB,EAAE,aAAa,GAAG,CAAC;IACtF,OAAO;QACN,aAAa;QACb,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3G,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;KAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ClientDatabase } from "#server/ClientDatabase.ts";
|
|
2
|
+
import type { JobReadOptions, PgBossClient } from "#server/client.ts";
|
|
3
|
+
import type { ScheduleOptions } from "#server/enqueueOptions.ts";
|
|
4
|
+
import type { Job } from "#server/job.ts";
|
|
5
|
+
export interface EngineSchedule {
|
|
6
|
+
cron: string;
|
|
7
|
+
data?: object;
|
|
8
|
+
key: string;
|
|
9
|
+
name: string;
|
|
10
|
+
options?: ScheduleOptions;
|
|
11
|
+
timezone: string;
|
|
12
|
+
}
|
|
13
|
+
export interface EngineClient extends Required<PgBossClient> {
|
|
14
|
+
readonly emit: (event: "error", error: Error) => boolean;
|
|
15
|
+
readonly findJobs: <T = unknown>(name: string, options?: JobReadOptions) => Promise<Job<T>[]>;
|
|
16
|
+
readonly getDb: () => ClientDatabase;
|
|
17
|
+
readonly getSchedules: (name?: string, key?: string) => Promise<EngineSchedule[]>;
|
|
18
|
+
readonly schemaVersion: () => Promise<number | null>;
|
|
19
|
+
readonly supervise: (name?: string) => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=engineClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engineClient.d.ts","sourceRoot":"","sources":["../../src/server/engineClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,YAAY,CAAC;IAC3D,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9F,QAAQ,CAAC,KAAK,EAAE,MAAM,cAAc,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAClF,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engineClient.js","sourceRoot":"","sources":["../../src/server/engineClient.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ClientDatabase } from "#server/ClientDatabase.ts";
|
|
2
|
+
import type { QueueDefinition } from "#server/definition.ts";
|
|
3
|
+
import type { RetryOptions } from "#server/queueOptions.ts";
|
|
4
|
+
export interface EnqueueOptions extends RetryOptions {
|
|
5
|
+
readonly db?: ClientDatabase;
|
|
6
|
+
readonly deadLetter?: string;
|
|
7
|
+
readonly group?: {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
readonly tier?: string;
|
|
10
|
+
};
|
|
11
|
+
readonly id?: string;
|
|
12
|
+
readonly priority?: number;
|
|
13
|
+
readonly singletonKey?: string;
|
|
14
|
+
readonly singletonNextSlot?: boolean;
|
|
15
|
+
readonly singletonSeconds?: number;
|
|
16
|
+
readonly startAfter?: number | string | Date;
|
|
17
|
+
}
|
|
18
|
+
export type QueueEnqueueOptions<TQueue extends QueueDefinition> = Omit<EnqueueOptions, "id" | "singletonKey"> & (TQueue["id"] extends undefined ? Pick<EnqueueOptions, "id"> : {
|
|
19
|
+
readonly id?: never;
|
|
20
|
+
}) & (TQueue["key"] extends undefined ? Pick<EnqueueOptions, "singletonKey"> : {
|
|
21
|
+
readonly singletonKey?: never;
|
|
22
|
+
});
|
|
23
|
+
export interface ScheduleOptions extends EnqueueOptions {
|
|
24
|
+
readonly key?: string;
|
|
25
|
+
readonly missed?: "skip" | "once";
|
|
26
|
+
readonly tz?: string;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=enqueueOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enqueueOptions.d.ts","sourceRoot":"","sources":["../../src/server/enqueueOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,cAAe,SAAQ,YAAY;IACnD,QAAQ,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,eAAe,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,cAAc,CAAC,GAC5G,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,GACvF,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,GAAG;IAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAE9G,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACtD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enqueueOptions.js","sourceRoot":"","sources":["../../src/server/enqueueOptions.ts"],"names":[],"mappings":""}
|
package/dist/server/error.d.ts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { Cause, Duration, Redacted } from "effect";
|
|
2
|
-
export type PgBossOperation = "counts" | "deadLetteredJobs" | "enqueue" | "failedJobs" | "getJob" | "health" | "install" | "register" | "retry" | "settle" | "start" | "stop";
|
|
2
|
+
export type PgBossOperation = "counts" | "deadLetteredJobs" | "deleteQueue" | "enqueue" | "failedJobs" | "getJob" | "health" | "install" | "inspect" | "register" | "refreshQueueStats" | "retry" | "settle" | "start" | "stop" | "unschedule";
|
|
3
|
+
declare const PgBossNotFoundError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
|
|
4
|
+
readonly _tag: "PgBossNotFoundError";
|
|
5
|
+
} & Readonly<A>;
|
|
6
|
+
export declare class PgBossNotFoundError extends PgBossNotFoundError_base<{
|
|
7
|
+
readonly operation: "deleteQueue" | "unschedule";
|
|
8
|
+
readonly queue: string;
|
|
9
|
+
readonly key?: string;
|
|
10
|
+
}> {
|
|
11
|
+
get message(): string;
|
|
12
|
+
}
|
|
3
13
|
declare const PgBossError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
|
|
4
14
|
readonly _tag: "PgBossError";
|
|
5
15
|
} & Readonly<A>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/server/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAQ,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGzD,MAAM,MAAM,eAAe,GACxB,QAAQ,GACR,kBAAkB,GAClB,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,OAAO,GACP,QAAQ,GACR,OAAO,GACP,MAAM,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/server/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAQ,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGzD,MAAM,MAAM,eAAe,GACxB,QAAQ,GACR,kBAAkB,GAClB,aAAa,GACb,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,UAAU,GACV,mBAAmB,GACnB,OAAO,GACP,QAAQ,GACR,OAAO,GACP,MAAM,GACN,YAAY,CAAC;;;;AAEhB,qBAAa,mBAAoB,SAAQ,yBAAwC;IAChF,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG,YAAY,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;IACD,IAAa,OAAO,IAAI,MAAM,CAI7B;CACD;;;;AAED,qBAAa,WAAY,SAAQ,iBAAgC;IAChE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;CAC9C,CAAC;IAED,IAAa,OAAO,IAAI,MAAM,CAK7B;CACD;;;;AAUD,qBAAa,uBAAwB,SAAQ,6BAA4C;IACxF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC;CACtD,CAAC;IACD,IAAa,OAAO,IAAI,MAAM,CAE7B;CACD;;;;AAED,qBAAa,qBAAsB,SAAQ,2BAA0C;IACpF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC,CAAC;IACD,IAAa,OAAO,IAAI,MAAM,CAE7B;CACD;;;;AAED,qBAAa,wBAAyB,SAAQ,8BAA6C;IAC1F,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;IACD,IAAa,OAAO,IAAI,MAAM,CAE7B;CACD;;;;AAED,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC9E,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;CAC9C,CAAC;CAAG;;;;AAEL,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC9E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,CAAC;CAAG;;;;AAEL,qBAAa,eAAgB,SAAQ,qBAAoC;IACxE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;CACnC,CAAC;IACD,IAAa,OAAO,IAAI,MAAM,CAE7B;CACD;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAMrG"}
|
package/dist/server/error.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { Cause, Data, Duration, Redacted } from "effect";
|
|
2
|
-
import { failureOutput } from "#internal/failureOutput.ts";
|
|
2
|
+
import { failureOutput } from "#server/internal/failureOutput.ts";
|
|
3
|
+
export class PgBossNotFoundError extends Data.TaggedError("PgBossNotFoundError") {
|
|
4
|
+
get message() {
|
|
5
|
+
return this.operation === "deleteQueue"
|
|
6
|
+
? `Queue ${this.queue} does not exist`
|
|
7
|
+
: `Schedule ${this.queue} with key ${JSON.stringify(this.key ?? "")} does not exist`;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
3
10
|
export class PgBossError extends Data.TaggedError("PgBossError") {
|
|
4
11
|
// Non-settlement originals can quote payloads or connection strings, so only their class and code are shown.
|
|
5
12
|
get message() {
|
package/dist/server/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/server/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/server/error.ts"],"names":[],"mappings":"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"}
|
package/dist/server/health.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DateTime, Option } from "effect";
|
|
2
|
-
import type { JobWithMetadata } from "pg-boss";
|
|
3
2
|
import type { JobFailure } from "#JobFailure.ts";
|
|
3
|
+
import type { JobState } from "#server/job.ts";
|
|
4
4
|
export interface QueueCounts {
|
|
5
5
|
readonly activeCount: number;
|
|
6
6
|
readonly failedCount: number;
|
|
@@ -35,7 +35,7 @@ export interface ListedJob<TData> {
|
|
|
35
35
|
readonly retryCount: number;
|
|
36
36
|
readonly retryLimit: number;
|
|
37
37
|
readonly startedOn: Option.Option<DateTime.Utc>;
|
|
38
|
-
readonly state:
|
|
38
|
+
readonly state: JobState;
|
|
39
39
|
}
|
|
40
40
|
export interface DeadLetteredJob<TData> extends ListedJob<TData> {
|
|
41
41
|
readonly sourceId: Option.Option<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/server/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/server/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,MAAM,WAAW,SAAS,CAAC,KAAK;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CACzB;AAED,MAAM,WAAW,eAAe,CAAC,KAAK,CAAE,SAAQ,SAAS,CAAC,KAAK,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,OAAO,CAAC,IAAI;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CACrC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { type DateTime, Effect } from "effect";
|
|
2
|
+
import type { inspectionChanges } from "#server/adapters/inspectionChanges.ts";
|
|
3
|
+
import type { inspectionReads } from "#server/adapters/inspectionReads.ts";
|
|
4
|
+
import type { JobPayloadSchema, QueueDefinition } from "#server/definition.ts";
|
|
5
|
+
import { PgBoss } from "#server/PgBoss.ts";
|
|
6
|
+
import type { PgBossService } from "#server/service.ts";
|
|
7
|
+
export type SnapshotQueue = Pick<QueueDefinition<string, JobPayloadSchema>, "name" | "schema">;
|
|
8
|
+
export interface UnfinishedJob<TQueue extends SnapshotQueue> {
|
|
9
|
+
readonly data: TQueue["schema"]["Type"];
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly queue: TQueue["name"];
|
|
12
|
+
readonly startAfter: DateTime.Utc;
|
|
13
|
+
readonly state: "active" | "created" | "deferred" | "failed" | "retry";
|
|
14
|
+
}
|
|
15
|
+
export declare const PgBossInspection: import("effect/Context").Service<"@shivaedev/jobs/PgBossInspection", Readonly<{
|
|
16
|
+
readonly busy: (queues: readonly Pick<QueueDefinition<string, JobPayloadSchema>, "name">[]) => Effect.Effect<boolean, import("./error.ts").PgBossError, never>;
|
|
17
|
+
readonly changes: (queue?: {
|
|
18
|
+
readonly name: string;
|
|
19
|
+
} | undefined) => Effect.Effect<{
|
|
20
|
+
revision: Effect.Effect<number, never, never>;
|
|
21
|
+
waitForChange: (after: number) => Effect.Effect<number>;
|
|
22
|
+
}, import("./error.ts").PgBossError, import("effect/Scope").Scope>;
|
|
23
|
+
readonly counts: (queue: Pick<QueueDefinition<string, JobPayloadSchema>, "name">) => Effect.Effect<import("./health.ts").QueueCounts, import("./error.ts").PgBossError, never>;
|
|
24
|
+
readonly deadLetteredJobs: <const TName extends string, const TPayload extends JobPayloadSchema | typeof import("effect/Schema").Null>(queue: {
|
|
25
|
+
readonly name: TName;
|
|
26
|
+
readonly schema: TPayload;
|
|
27
|
+
}, options: import("./health.ts").JobPageOptions) => Effect.Effect<import("./health.ts").JobPage<import("./health.ts").DeadLetteredJob<unknown>>, import("./error.ts").PgBossError | import("./error.ts").PgBossPayloadError | import("effect/Schema").SchemaError, TPayload["DecodingServices"]>;
|
|
28
|
+
readonly deferred: (queue: Pick<QueueDefinition<string, JobPayloadSchema>, "name">) => Effect.Effect<{
|
|
29
|
+
at: DateTime.Utc;
|
|
30
|
+
reason: string;
|
|
31
|
+
}[], import("./error.ts").PgBossError, never>;
|
|
32
|
+
readonly failedJobs: <const TName extends string, const TPayload extends JobPayloadSchema | typeof import("effect/Schema").Null>(queue: {
|
|
33
|
+
readonly name: TName;
|
|
34
|
+
readonly schema: TPayload;
|
|
35
|
+
}, options: import("./health.ts").JobPageOptions) => Effect.Effect<import("./health.ts").JobPage<import("./health.ts").ListedJob<unknown>>, import("./error.ts").PgBossError | import("./error.ts").PgBossPayloadError | import("effect/Schema").SchemaError, TPayload["DecodingServices"]>;
|
|
36
|
+
readonly getJob: <const TName extends string, const TPayload extends JobPayloadSchema | typeof import("effect/Schema").Null>(queue: {
|
|
37
|
+
readonly name: TName;
|
|
38
|
+
readonly schema: TPayload;
|
|
39
|
+
}, id: string) => Effect.Effect<import("effect/Option").Option<import("./job.ts").Job<unknown>>, import("./error.ts").PgBossError | import("./error.ts").PgBossPayloadError, TPayload["DecodingServices"]>;
|
|
40
|
+
readonly health: (queues: readonly {
|
|
41
|
+
readonly name: string;
|
|
42
|
+
}[]) => Effect.Effect<import("./health.ts").JobsHealth, import("./error.ts").PgBossError, never>;
|
|
43
|
+
readonly jobs: <TName extends string, TPayload extends JobPayloadSchema | typeof import("effect/Schema").Null>(queue: {
|
|
44
|
+
readonly name: TName;
|
|
45
|
+
readonly schema: TPayload;
|
|
46
|
+
}, options?: import("./client.ts").JobReadOptions) => Effect.Effect<{
|
|
47
|
+
expireInSeconds: number;
|
|
48
|
+
groupId?: string | null;
|
|
49
|
+
groupTier?: string | null;
|
|
50
|
+
heartbeatSeconds: number | null;
|
|
51
|
+
id: string;
|
|
52
|
+
name: string;
|
|
53
|
+
retryCount: number;
|
|
54
|
+
signal: AbortSignal;
|
|
55
|
+
blocked: boolean;
|
|
56
|
+
blocking: boolean;
|
|
57
|
+
completedOn: Date | null;
|
|
58
|
+
createdOn: Date;
|
|
59
|
+
deadLetter: string;
|
|
60
|
+
deleteAfterSeconds: number;
|
|
61
|
+
heartbeatOn: Date | null;
|
|
62
|
+
keepUntil: Date;
|
|
63
|
+
output: object | null;
|
|
64
|
+
pendingDependencies: number;
|
|
65
|
+
policy: string;
|
|
66
|
+
priority: number;
|
|
67
|
+
retryBackoff: boolean;
|
|
68
|
+
retryDelay: number;
|
|
69
|
+
retryDelayMax?: number;
|
|
70
|
+
retryLimit: number;
|
|
71
|
+
singletonKey: string | null;
|
|
72
|
+
singletonOn: Date | null;
|
|
73
|
+
sourceCreatedOn: Date | null;
|
|
74
|
+
sourceId: string | null;
|
|
75
|
+
sourceName: string | null;
|
|
76
|
+
sourceOutput: object | null;
|
|
77
|
+
sourceRetryCount: number | null;
|
|
78
|
+
sourceRootId: string | null;
|
|
79
|
+
startAfter: Date;
|
|
80
|
+
startedOn: Date | null;
|
|
81
|
+
state: import("./job.ts").JobState;
|
|
82
|
+
data: TPayload["Type"];
|
|
83
|
+
}[], import("./error.ts").PgBossError | import("./error.ts").PgBossPayloadError, TPayload["DecodingServices"]>;
|
|
84
|
+
readonly queue: (queue: Pick<QueueDefinition<string, JobPayloadSchema>, "name">) => Effect.Effect<import("./client.ts").ClientQueue | null, import("./error.ts").PgBossError, never>;
|
|
85
|
+
readonly schedules: (name?: string | undefined, key?: string | undefined) => Effect.Effect<import("./engineClient.ts").EngineSchedule[], import("./error.ts").PgBossError, never>;
|
|
86
|
+
readonly schemaVersion: () => Effect.Effect<number | null, import("./error.ts").PgBossError, never>;
|
|
87
|
+
readonly snapshot: <const TQueues extends readonly SnapshotQueue[]>(queues: TQueues) => Effect.Effect<readonly UnfinishedJob<TQueues[number]>[], import("./error.ts").PgBossPayloadError | import("./error.ts").PgBossError, TQueues[number]["schema"]["DecodingServices"]>;
|
|
88
|
+
readonly storedJobs: (queue: {
|
|
89
|
+
readonly name: string;
|
|
90
|
+
}, options?: import("./client.ts").JobReadOptions | undefined) => Effect.Effect<readonly import("./job.ts").Job<unknown>[], import("./error.ts").PgBossError, never>;
|
|
91
|
+
}>> & {
|
|
92
|
+
readonly layer: import("effect/Layer").Layer<"@shivaedev/jobs/PgBossInspection", never, PgBoss>;
|
|
93
|
+
};
|
|
94
|
+
export type PgBossInspectionService = ReturnType<typeof inspectionReads> & Pick<PgBossService, "counts" | "deadLetteredJobs" | "failedJobs" | "getJob"> & {
|
|
95
|
+
readonly health: (queues: readonly {
|
|
96
|
+
readonly name: string;
|
|
97
|
+
}[]) => ReturnType<PgBossService["health"]>;
|
|
98
|
+
readonly changes: (queue?: {
|
|
99
|
+
readonly name: string;
|
|
100
|
+
}) => ReturnType<typeof inspectionChanges>;
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=inspection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../src/server/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAI/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;AAE/F,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,aAAa;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;CACvE;AAED,eAAO,MAAM,gBAAgB;;;uBA4BiB,MAAM;;;;;;;;;;;;;;;;;;;;;;;uBADE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAJ1D,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,GACvE,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,kBAAkB,GAAG,YAAY,GAAG,QAAQ,CAAC,GAAG;IAC9E,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvG,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;CAC9F,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { defineService } from "@shivaedev/service/defineService.ts";
|
|
3
|
+
import { genericMethod } from "@shivaedev/service/genericMethod.ts";
|
|
4
|
+
import { inspection } from "#server/adapters/inspection.ts";
|
|
5
|
+
import { PgBoss } from "#server/PgBoss.ts";
|
|
6
|
+
export const PgBossInspection = defineService({
|
|
7
|
+
id: "@shivaedev/jobs/PgBossInspection",
|
|
8
|
+
initialize: Effect.gen(function* () {
|
|
9
|
+
const acquired = yield* PgBoss;
|
|
10
|
+
return yield* inspection(acquired.client, acquired.schema);
|
|
11
|
+
}),
|
|
12
|
+
methods: (service) => ({
|
|
13
|
+
busy: service.busy,
|
|
14
|
+
changes: service.changes,
|
|
15
|
+
counts: service.counts,
|
|
16
|
+
deadLetteredJobs: genericMethod(service.deadLetteredJobs),
|
|
17
|
+
deferred: service.deferred,
|
|
18
|
+
failedJobs: genericMethod(service.failedJobs),
|
|
19
|
+
getJob: genericMethod(service.getJob),
|
|
20
|
+
health: service.health,
|
|
21
|
+
jobs: genericMethod(service.jobs),
|
|
22
|
+
queue: service.queue,
|
|
23
|
+
schedules: service.schedules,
|
|
24
|
+
schemaVersion: service.schemaVersion,
|
|
25
|
+
snapshot: genericMethod(service.snapshot),
|
|
26
|
+
storedJobs: service.storedJobs,
|
|
27
|
+
}),
|
|
28
|
+
requires: [PgBoss],
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=inspection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspection.js","sourceRoot":"","sources":["../../src/server/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAI5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAa3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;IAC7C,EAAE,EAAE,kCAAkC;IACtC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;QAC/B,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC,CAAC;IACF,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,gBAAgB,EAAE,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzD,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;QAC7C,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;QACrC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzC,UAAU,EAAE,OAAO,CAAC,UAAU;KAC9B,CAAC;IACF,QAAQ,EAAE,CAAC,MAAM,CAAU;CAC3B,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import type { PgBossOptions } from "#server/service.ts";
|
|
3
|
+
import { ClientEngine } from "./lifecycle.ts";
|
|
4
|
+
export declare const acquireClient: (options: PgBossOptions) => Effect.Effect<{
|
|
5
|
+
cacheKey?: string | symbol;
|
|
6
|
+
client: import("../client.ts").PgBossClient;
|
|
7
|
+
reused: boolean;
|
|
8
|
+
schema: string | undefined;
|
|
9
|
+
stop: import("../clientOptions.ts").StopOptions | undefined;
|
|
10
|
+
}, import("../error.ts").PgBossClientOptionsError | import("../error.ts").PgBossError, ClientEngine | import("effect/Scope").Scope>;
|
|
11
|
+
//# sourceMappingURL=acquireClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acquireClient.d.ts","sourceRoot":"","sources":["../../../src/server/internal/acquireClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,eAAO,MAAM,aAAa;;;;;;mIAoBxB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Effect, Redacted } from "effect";
|
|
2
|
+
import { clientErrorLogger } from "#server/adapters/clientErrorLogger.ts";
|
|
3
|
+
import { ClientEngine } from "./lifecycle.js";
|
|
4
|
+
export const acquireClient = Effect.fnUntraced(function* (options) {
|
|
5
|
+
const { connectionString, clientFactory, clientCacheKey, stop, ...settings } = options;
|
|
6
|
+
const constructorOptions = {
|
|
7
|
+
...settings,
|
|
8
|
+
idleTimeoutMillis: settings.idleTimeoutMillis ?? 60_000,
|
|
9
|
+
maxLifetimeSeconds: settings.maxLifetimeSeconds ?? 600,
|
|
10
|
+
...(connectionString === undefined ? {} : { connectionString: Redacted.value(connectionString) }),
|
|
11
|
+
};
|
|
12
|
+
const report = yield* clientErrorLogger();
|
|
13
|
+
const engine = yield* ClientEngine;
|
|
14
|
+
const acquired = yield* engine.acquire({
|
|
15
|
+
clientCacheKey,
|
|
16
|
+
clientFactory,
|
|
17
|
+
constructor: constructorOptions,
|
|
18
|
+
}, report, stop);
|
|
19
|
+
return { ...acquired, schema: settings.schema, stop };
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=acquireClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acquireClient.js","sourceRoot":"","sources":["../../../src/server/internal/acquireClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAsB;IAC/E,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC;IACvF,MAAM,kBAAkB,GAAG;QAC1B,GAAG,QAAQ;QACX,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,IAAI,MAAM;QACvD,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,IAAI,GAAG;QACtD,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;KACjG,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CACrC;QACC,cAAc;QACd,aAAa;QACb,WAAW,EAAE,kBAAkB;KAC/B,EACD,MAAM,EACN,IAAI,CACJ,CAAC;IACF,OAAO,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;AACvD,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ClientDatabase } from "#server/ClientDatabase.ts";
|
|
2
2
|
export interface TestingFetches {
|
|
3
3
|
readonly begun: (queue: string) => number;
|
|
4
4
|
readonly passedSince: (queue: string, begun: number) => number;
|
|
5
5
|
}
|
|
6
|
-
export declare function testingFetches(db:
|
|
6
|
+
export declare function testingFetches(db: ClientDatabase, changed: () => void): TestingFetches;
|
|
7
7
|
//# sourceMappingURL=testingFetches.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testingFetches.d.ts","sourceRoot":"","sources":["../../../../src/server/internal/adapters/testingFetches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"testingFetches.d.ts","sourceRoot":"","sources":["../../../../src/server/internal/adapters/testingFetches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAMhE,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,cAAc,CAwBtF"}
|