@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,52 @@
|
|
|
1
|
+
import { Effect, Option, Redacted, Schema } from "effect";
|
|
2
|
+
import { redact } from "@shivaedev/errors/redact.ts";
|
|
3
|
+
import { PgBossPayloadError } from "#server/error.ts";
|
|
4
|
+
import { JobEngine } from "#server/internal/engine.ts";
|
|
5
|
+
import { decodeStoredData } from "#server/internal/storedRows.ts";
|
|
6
|
+
import { readJobFailure } from "#server/readJobFailure.ts";
|
|
7
|
+
const Cursor = Schema.StringFromBase64Url.pipe(Schema.decodeTo(Schema.fromJsonString(Schema.Tuple([
|
|
8
|
+
Schema.String.check(Schema.makeFilter((value) => Option.isSome(Schema.decodeUnknownOption(Schema.DateTimeUtcFromString)(value)))),
|
|
9
|
+
Schema.String.check(Schema.isUUID()),
|
|
10
|
+
]))));
|
|
11
|
+
const PageOptions = Schema.Struct({
|
|
12
|
+
cursor: Schema.optionalKey(Schema.UndefinedOr(Cursor)),
|
|
13
|
+
limit: Schema.Number.check(Schema.isInt(), Schema.isGreaterThan(0)),
|
|
14
|
+
});
|
|
15
|
+
const Row = Schema.Struct({
|
|
16
|
+
completedOn: Schema.OptionFromNullOr(Schema.DateTimeUtcFromDate),
|
|
17
|
+
createdOn: Schema.DateTimeUtcFromDate,
|
|
18
|
+
cursorAt: Schema.String,
|
|
19
|
+
data: Schema.Unknown,
|
|
20
|
+
id: Schema.String,
|
|
21
|
+
output: Schema.Unknown,
|
|
22
|
+
queue: Schema.String,
|
|
23
|
+
retryCount: Schema.Number,
|
|
24
|
+
retryLimit: Schema.Number,
|
|
25
|
+
sourceId: Schema.OptionFromNullOr(Schema.String),
|
|
26
|
+
sourceOutput: Schema.Unknown,
|
|
27
|
+
startedOn: Schema.OptionFromNullOr(Schema.DateTimeUtcFromDate),
|
|
28
|
+
state: Schema.Literals(["created", "retry", "active", "completed", "cancelled", "failed"]),
|
|
29
|
+
});
|
|
30
|
+
const Rows = Schema.Array(Row);
|
|
31
|
+
export const jobListings = Effect.gen(function* () {
|
|
32
|
+
const engine = yield* JobEngine;
|
|
33
|
+
const failedJobs = (queue, options) => listJobs(engine, "failedJobs", queue, options).pipe(Effect.map(({ jobs, next }) => ({ jobs: jobs.map(({ sourceId: _id, sourceOutput: _output, ...job }) => job), next })));
|
|
34
|
+
const deadLetteredJobs = (queue, options) => listJobs(engine, "deadLetteredJobs", queue, options).pipe(Effect.map(({ jobs, next }) => ({ jobs: jobs.map((job) => ({ ...job, sourceQueue: queue.name })), next })));
|
|
35
|
+
return { deadLetteredJobs, failedJobs };
|
|
36
|
+
});
|
|
37
|
+
const listJobs = Effect.fnUntraced(function* (engine, listing, queue, options) {
|
|
38
|
+
const { cursor: after, limit } = yield* Schema.decodeUnknownEffect(PageOptions)(options);
|
|
39
|
+
const rows = yield* engine.listJobs(listing, queue.name, after, limit);
|
|
40
|
+
const decodedRows = yield* Schema.decodeUnknownEffect(Rows)(rows).pipe(Effect.mapError((error) => new PgBossPayloadError({ direction: "decode", original: Redacted.make(error), queue: queue.name })));
|
|
41
|
+
const page = decodedRows.slice(0, limit);
|
|
42
|
+
const last = page.at(-1);
|
|
43
|
+
const next = decodedRows.length > limit && last !== undefined ? Option.some(Schema.encodeSync(Cursor)([last.cursorAt, last.id])) : Option.none();
|
|
44
|
+
const jobs = yield* Effect.forEach(page, Effect.fnUntraced(function* ({ cursorAt: _, data, ...row }) {
|
|
45
|
+
const decoded = yield* decodeStoredData(queue, data);
|
|
46
|
+
const output = yield* readJobFailure(queue.name, row.output);
|
|
47
|
+
const sourceOutput = yield* readJobFailure(queue.name, row.sourceOutput);
|
|
48
|
+
return { ...row, attempt: Option.isSome(row.startedOn) ? row.retryCount + 1 : 0, data: redact(decoded), output, sourceOutput };
|
|
49
|
+
}));
|
|
50
|
+
return { jobs, next };
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=jobListings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobListings.js","sourceRoot":"","sources":["../../../src/server/internal/jobListings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EAAE,SAAS,EAAgB,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAC7C,MAAM,CAAC,QAAQ,CACd,MAAM,CAAC,cAAc,CACpB,MAAM,CAAC,KAAK,CAAC;IACZ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;CACpC,CAAC,CACF,CACD,CACD,CAAC;AACF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACtD,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;CACnE,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAChE,SAAS,EAAE,MAAM,CAAC,mBAAmB;IACrC,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,IAAI,EAAE,MAAM,CAAC,OAAO;IACpB,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,MAAM,EAAE,MAAM,CAAC,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC,OAAO;IAC5B,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAC9D,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;CAC1F,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;IAChC,MAAM,UAAU,GAAgC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAClE,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAClD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CACrH,CAAC;IACH,MAAM,gBAAgB,GAAsC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAC9E,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CACxD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1G,CAAC;IACH,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC3C,MAA+C,EAC/C,OAAgB,EAChB,KAA0D,EAC1D,OAAuB;IAMvB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;IACzF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CACrE,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAC9H,CAAC;IACF,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,GAAG,KAAK,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACjJ,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CACjC,IAAI,EACJ,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACzE,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAChI,CAAC,CAAC,CACF,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobStorePlans.d.ts","sourceRoot":"","sources":["../../../src/server/internal/jobStorePlans.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jobStorePlans.d.ts","sourceRoot":"","sources":["../../../src/server/internal/jobStorePlans.ts"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAE/D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { inspectionPlan } from "#server/adapters/inspectionPlan.ts";
|
|
2
|
+
import { deadLetterResolutionPlan } from "#server/internal/deadLetterResolutionPlan.ts";
|
|
3
|
+
import { deferralStorePlan } from "#server/internal/deferralStorePlan.ts";
|
|
3
4
|
export function jobStorePlans(schema) {
|
|
4
|
-
return [deferralStorePlan(schema), deadLetterResolutionPlan(schema)];
|
|
5
|
+
return [deferralStorePlan(schema), deadLetterResolutionPlan(schema), inspectionPlan(schema)];
|
|
5
6
|
}
|
|
6
7
|
//# sourceMappingURL=jobStorePlans.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobStorePlans.js","sourceRoot":"","sources":["../../../src/server/internal/jobStorePlans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"jobStorePlans.js","sourceRoot":"","sources":["../../../src/server/internal/jobStorePlans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,UAAU,aAAa,CAAC,MAAc;IAC3C,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9F,CAAC"}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
import { Effect } from "effect";
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import { PgBossClientOptionsError,
|
|
1
|
+
import { Context, type Effect, type Scope } from "effect";
|
|
2
|
+
import type { PgBossClient, PgBossClientFactory } from "#server/client.ts";
|
|
3
|
+
import type { ClientOptions, StopOptions } from "#server/clientOptions.ts";
|
|
4
|
+
import type { PgBossClientOptionsError, PgBossError } from "#server/error.ts";
|
|
5
5
|
export interface AcquireClientOptions {
|
|
6
6
|
readonly clientCacheKey?: string | symbol | undefined;
|
|
7
7
|
readonly clientFactory?: PgBossClientFactory | undefined;
|
|
8
|
-
readonly constructor:
|
|
8
|
+
readonly constructor: ClientOptions;
|
|
9
9
|
}
|
|
10
10
|
export interface AcquiredClient {
|
|
11
11
|
readonly cacheKey?: string | symbol;
|
|
12
12
|
readonly client: PgBossClient;
|
|
13
13
|
readonly reused: boolean;
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
declare const ClientEngine_base: Context.ServiceClass<ClientEngine, "@shivaedev/jobs/ClientEngine", {
|
|
16
|
+
readonly acquire: (options: AcquireClientOptions, report: (error: Error) => void, stop?: StopOptions) => Effect.Effect<AcquiredClient, PgBossError | PgBossClientOptionsError, Scope.Scope>;
|
|
17
|
+
}>;
|
|
18
|
+
export declare class ClientEngine extends ClientEngine_base {
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
17
21
|
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/server/internal/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/server/internal/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE9E,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CACzB;;sBAKmB,CACjB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAC9B,IAAI,CAAC,EAAE,WAAW,KACd,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,GAAG,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAAC;;AAPzF,qBAAa,YAAa,SAAQ,iBASC;CAAG"}
|
|
@@ -1,51 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { PgBossClientOptionsError, toPgBossError } from "#error.ts";
|
|
4
|
-
import { jobStorePlans } from "#internal/jobStorePlans.ts";
|
|
5
|
-
import { acquireCachedClient, releaseCachedClient } from "./clientCache.js";
|
|
6
|
-
import { observeClientErrors } from "./clientErrors.js";
|
|
7
|
-
async function startClient(options, report) {
|
|
8
|
-
const client = (options.clientFactory ?? defaultClientFactory)(options.constructor);
|
|
9
|
-
observeClientErrors(client, report);
|
|
10
|
-
try {
|
|
11
|
-
await client.start();
|
|
12
|
-
if (options.constructor.migrate !== false && client.getDb !== undefined) {
|
|
13
|
-
for (const plan of jobStorePlans(options.constructor.schema ?? "pgboss")) {
|
|
14
|
-
await client.getDb().executeSql(plan);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return client;
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
try {
|
|
21
|
-
await client.stop();
|
|
22
|
-
}
|
|
23
|
-
catch {
|
|
24
|
-
// Preserve the startup failure; stop is best effort on failed acquisition.
|
|
25
|
-
}
|
|
26
|
-
throw error;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export function acquireClient(options, report) {
|
|
30
|
-
return Effect.tryPromise({
|
|
31
|
-
catch: (error) => (error instanceof PgBossClientOptionsError ? error : toPgBossError("start", error)),
|
|
32
|
-
try: async () => {
|
|
33
|
-
const cacheKey = options.clientCacheKey;
|
|
34
|
-
return cacheKey === undefined
|
|
35
|
-
? { client: await startClient(options, report), reused: false }
|
|
36
|
-
: { cacheKey, ...(await acquireCachedClient(cacheKey, options.constructor, () => startClient(options, report))) };
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
export function releaseClient(acquired, stopOptions) {
|
|
41
|
-
return Effect.tryPromise({
|
|
42
|
-
catch: (error) => toPgBossError("stop", error),
|
|
43
|
-
try: async () => {
|
|
44
|
-
const client = acquired.cacheKey === undefined ? acquired.client : await releaseCachedClient(acquired.cacheKey);
|
|
45
|
-
if (client !== undefined) {
|
|
46
|
-
await client.stop(stopOptions);
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
}).pipe(Effect.catch((error) => Effect.logError(error)));
|
|
1
|
+
import { Context } from "effect";
|
|
2
|
+
export class ClientEngine extends Context.Service()("@shivaedev/jobs/ClientEngine") {
|
|
50
3
|
}
|
|
51
4
|
//# sourceMappingURL=lifecycle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/server/internal/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/server/internal/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,QAAQ,CAAC;AAiB1D,MAAM,OAAO,YAAa,SAAQ,OAAO,CAAC,OAAO,EAS9C,CAAC,8BAA8B,CAAC;CAAG"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
3
|
-
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import type { PgBossClient } from "#server/client.ts";
|
|
3
|
+
import { JobEngine } from "#server/internal/engine.ts";
|
|
4
|
+
import type { PgBossService } from "#server/service.ts";
|
|
5
|
+
export declare const makeService: (client: PgBossClient, names: readonly string[], schema?: any) => Effect.Effect<PgBossService, never, JobEngine>;
|
|
4
6
|
//# sourceMappingURL=makeService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeService.d.ts","sourceRoot":"","sources":["../../../src/server/internal/makeService.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"makeService.d.ts","sourceRoot":"","sources":["../../../src/server/internal/makeService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,WAAW,kHAmBtB,CAAC"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
export
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { inspection } from "#server/adapters/inspection.ts";
|
|
3
|
+
import { JobEngine } from "#server/internal/engine.ts";
|
|
4
|
+
import { enqueueFor } from "#server/internal/enqueueFor.ts";
|
|
5
|
+
import { jobControl } from "#server/internal/jobControl.ts";
|
|
6
|
+
export const makeService = Effect.fnUntraced(function* (client, names, schema = "pgboss") {
|
|
7
|
+
const engine = yield* JobEngine;
|
|
8
|
+
const reads = yield* inspection(client, schema);
|
|
7
9
|
return {
|
|
8
|
-
counts: (queue) =>
|
|
9
|
-
deadLetteredJobs:
|
|
10
|
+
counts: (queue) => reads.counts(queue),
|
|
11
|
+
deadLetteredJobs: reads.deadLetteredJobs,
|
|
12
|
+
deleteQueue: engine.deleteQueue,
|
|
10
13
|
enqueue: enqueueFor(client),
|
|
11
|
-
failedJobs:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
failedJobs: reads.failedJobs,
|
|
15
|
+
inspection: () => Effect.succeed(reads),
|
|
16
|
+
...(yield* jobControl),
|
|
17
|
+
health: (queues) => reads.health(queues ?? names.map((name) => ({ name }))),
|
|
18
|
+
refreshQueueStats: engine.refreshQueueStats,
|
|
19
|
+
unschedule: engine.unschedule,
|
|
15
20
|
};
|
|
16
|
-
}
|
|
21
|
+
});
|
|
17
22
|
//# sourceMappingURL=makeService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeService.js","sourceRoot":"","sources":["../../../src/server/internal/makeService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"makeService.js","sourceRoot":"","sources":["../../../src/server/internal/makeService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EACrD,MAAoB,EACpB,KAAwB,EACxB,MAAM,GAAG,QAAQ;IAEjB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO;QACN,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC;QAC3B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QACvC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;QACtB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3E,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,UAAU,EAAE,MAAM,CAAC,UAAU;KAC7B,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type Context, Effect, Scope } from "effect";
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { JobRegistration } from "#definition.ts";
|
|
5
|
-
import { PgBossQueueOptionsError } from "#error.ts";
|
|
2
|
+
import type { PgBossClient } from "#server/client.ts";
|
|
3
|
+
import type { StopOptions } from "#server/clientOptions.ts";
|
|
4
|
+
import type { JobRegistration } from "#server/definition.ts";
|
|
5
|
+
import { PgBossQueueOptionsError } from "#server/error.ts";
|
|
6
6
|
export declare function registrationName(registration: JobRegistration): string;
|
|
7
7
|
export declare function registrationNames(registrations: readonly JobRegistration[]): readonly string[];
|
|
8
|
-
export declare const registerJobs: <R>(client: PgBossClient, registrations: readonly JobRegistration<R>[], context: Context.Context<R>, replaceWorkers: boolean, schema?: string | undefined, startWorkers?: boolean | undefined, stop?: StopOptions | undefined) => Effect.Effect<void, import("#error.ts").PgBossError | PgBossQueueOptionsError, Scope.Scope>;
|
|
8
|
+
export declare const registerJobs: <R>(client: PgBossClient, registrations: readonly JobRegistration<R>[], context: Context.Context<R>, replaceWorkers: boolean, schema?: string | undefined, startWorkers?: boolean | undefined, stop?: StopOptions | undefined) => Effect.Effect<void, import("#server/error.ts").PgBossError | PgBossQueueOptionsError, Scope.Scope>;
|
|
9
9
|
//# sourceMappingURL=register.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/server/internal/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/server/internal/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAoB,eAAe,EAAqE,MAAM,uBAAuB,CAAC;AAClJ,OAAO,EAAE,uBAAuB,EAAiB,MAAM,kBAAkB,CAAC;AAc1E,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,eAAe,GAAG,MAAM,CAEtE;AAkED,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,MAAM,EAAE,CAM9F;AAED,eAAO,MAAM,YAAY,GAAgC,CAAC,kUAsBxD,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Effect, Scope } from "effect";
|
|
2
|
-
import { registerWorker } from "#adapters/registerWorker.ts";
|
|
3
|
-
import { workerDiagnostics } from "#adapters/workerDiagnostics.ts";
|
|
4
|
-
import { PgBossQueueOptionsError, toPgBossError } from "#error.ts";
|
|
5
|
-
import { ensureQueue } from "#internal/ensureQueue.ts";
|
|
6
|
-
import { runQueueWorker } from "#internal/runQueueWorker.ts";
|
|
7
|
-
import { registerTestingQueue } from "#internal/testingRegistrations.ts";
|
|
2
|
+
import { registerWorker } from "#server/adapters/registerWorker.ts";
|
|
3
|
+
import { workerDiagnostics } from "#server/adapters/workerDiagnostics.ts";
|
|
4
|
+
import { PgBossQueueOptionsError, toPgBossError } from "#server/error.ts";
|
|
5
|
+
import { ensureQueue } from "#server/internal/ensureQueue.ts";
|
|
6
|
+
import { runQueueWorker } from "#server/internal/runQueueWorker.ts";
|
|
8
7
|
function registrationDefinition(registration) {
|
|
9
8
|
if (registration._tag === "QueueDefinition") {
|
|
10
9
|
return registration;
|
|
@@ -55,9 +54,6 @@ export const registerJobs = Effect.fnUntraced(function* (client, registrations,
|
|
|
55
54
|
const scope = yield* Scope.fork(yield* Effect.scope, "parallel");
|
|
56
55
|
yield* Effect.try({ catch: (error) => toPgBossError("register", error), try: () => registrationNames(registrations) });
|
|
57
56
|
yield* prepareQueues(client, registrations, replaceWorkers);
|
|
58
|
-
for (const registration of registrations) {
|
|
59
|
-
registerTestingQueue(client, registrationName(registration));
|
|
60
|
-
}
|
|
61
57
|
if (!startWorkers) {
|
|
62
58
|
return;
|
|
63
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/server/internal/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/server/internal/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Context, Effect, Scope } from "effect";
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { JobRegistration } from "#definition.ts";
|
|
5
|
-
export declare const registerReleasedJobs: <R>(client: PgBossClient, jobs: readonly JobRegistration<R>[], context: Context.Context<R>, replaceWorkers: boolean, schema: string | undefined, stop: StopOptions | undefined, retired?: readonly string[] | undefined) => Effect.Effect<void, import("#error.ts").PgBossError | import("#error.ts").PgBossQueueOptionsError, Scope.Scope>;
|
|
2
|
+
import type { PgBossClient } from "#server/client.ts";
|
|
3
|
+
import type { StopOptions } from "#server/clientOptions.ts";
|
|
4
|
+
import type { JobRegistration } from "#server/definition.ts";
|
|
5
|
+
export declare const registerReleasedJobs: <R>(client: PgBossClient, jobs: readonly JobRegistration<R>[], context: Context.Context<R>, replaceWorkers: boolean, schema: string | undefined, stop: StopOptions | undefined, retired?: readonly string[] | undefined) => Effect.Effect<void, import("#server/error.ts").PgBossError | import("#server/error.ts").PgBossQueueOptionsError, Scope.Scope>;
|
|
6
6
|
//# sourceMappingURL=registerReleasedJobs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerReleasedJobs.d.ts","sourceRoot":"","sources":["../../../src/server/internal/registerReleasedJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"registerReleasedJobs.d.ts","sourceRoot":"","sources":["../../../src/server/internal/registerReleasedJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAG7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,eAAO,MAAM,oBAAoB,GAAgC,CAAC,uVAyChE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect, Option, Scope } from "effect";
|
|
2
2
|
import { WorkerRelease } from "@shivaedev/sql/WorkerRelease.ts";
|
|
3
|
-
import { retireJobs } from "#adapters/retireJobs.ts";
|
|
4
|
-
import { toPgBossError } from "#error.ts";
|
|
3
|
+
import { retireJobs } from "#server/adapters/retireJobs.ts";
|
|
4
|
+
import { toPgBossError } from "#server/error.ts";
|
|
5
5
|
import { registerJobs, registrationName } from "./register.js";
|
|
6
6
|
export const registerReleasedJobs = Effect.fnUntraced(function* (client, jobs, context, replaceWorkers, schema, stop, retired = []) {
|
|
7
7
|
const signal = yield* Effect.serviceOption(WorkerRelease);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerReleasedJobs.js","sourceRoot":"","sources":["../../../src/server/internal/registerReleasedJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"registerReleasedJobs.js","sourceRoot":"","sources":["../../../src/server/internal/registerReleasedJobs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
-
import type { PgBossClient } from "#client.ts";
|
|
2
|
+
import type { PgBossClient } from "#server/client.ts";
|
|
3
3
|
export declare function retryWake(client: PgBossClient, schema: string, name: string, id: string, registration: Promise<string>): Effect.Effect<void>;
|
|
4
4
|
//# sourceMappingURL=retryWake.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retryWake.d.ts","sourceRoot":"","sources":["../../../src/server/internal/retryWake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"retryWake.d.ts","sourceRoot":"","sources":["../../../src/server/internal/retryWake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CA4B5I"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Clock, Effect } from "effect";
|
|
2
2
|
import { redactDiagnosticCause } from "@shivaedev/errors/redactCause.ts";
|
|
3
|
-
import { batchClockOffset } from "#adapters/batchClockOffset.ts";
|
|
4
|
-
import { toPgBossError } from "#error.ts";
|
|
3
|
+
import { batchClockOffset } from "#server/adapters/batchClockOffset.ts";
|
|
4
|
+
import { toPgBossError } from "#server/error.ts";
|
|
5
5
|
export function retryWake(client, schema, name, id, registration) {
|
|
6
6
|
return Effect.gen(function* () {
|
|
7
7
|
const findJobs = client.findJobs?.bind(client);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retryWake.js","sourceRoot":"","sources":["../../../src/server/internal/retryWake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"retryWake.js","sourceRoot":"","sources":["../../../src/server/internal/retryWake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,UAAU,SAAS,CAAC,MAAoB,EAAE,MAAc,EAAE,IAAY,EAAE,EAAU,EAAE,YAA6B;IACtH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACjE,OAAO;QACR,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACrI,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,EAAE,KAAK,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO;QACR,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;QAC/H,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7D,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;QACvD,IAAI,SAAS,GAAG,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC5D,OAAO,SAAS,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/B,SAAS,GAAG,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,SAAS,GAAG,MAAM;aACtB,UAAU,EAAE,EAAE;aACd,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;aAC5C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
-
import type {
|
|
3
|
-
import type
|
|
4
|
-
import
|
|
2
|
+
import type { PgBossClient } from "#server/client.ts";
|
|
3
|
+
import { type JobPayloadSchema, type QueueWorker } from "#server/definition.ts";
|
|
4
|
+
import type { WorkerJob } from "#server/job.ts";
|
|
5
5
|
export declare function runQueueWorker<R>(worker: QueueWorker<JobPayloadSchema & {
|
|
6
6
|
readonly DecodingServices: R;
|
|
7
|
-
}, R>, job:
|
|
7
|
+
}, R>, job: WorkerJob<unknown>, deadline: number, client: PgBossClient, schema: string): Effect.Effect<unknown, unknown, Exclude<R, never>>;
|
|
8
8
|
//# sourceMappingURL=runQueueWorker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runQueueWorker.d.ts","sourceRoot":"","sources":["../../../src/server/internal/runQueueWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAoB,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"runQueueWorker.d.ts","sourceRoot":"","sources":["../../../src/server/internal/runQueueWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAoB,MAAM,QAAQ,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,KAAK,gBAAgB,EAAc,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAG5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,wBAAgB,cAAc,CAAC,CAAC,EAC/B,MAAM,EAAE,WAAW,CAAC,gBAAgB,GAAG;IAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAA;CAAE,EAAE,CAAC,CAAC,EAC3E,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,EACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,sDAgBd"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Effect, Redacted, Schema } from "effect";
|
|
2
|
-
import { deferralCount } from "#adapters/deferralCount.ts";
|
|
3
|
-
import { workerDiagnostics } from "#adapters/workerDiagnostics.ts";
|
|
4
|
-
import { jobContext } from "#definition.ts";
|
|
5
|
-
import { PgBossPayloadError } from "#error.ts";
|
|
6
|
-
import { payloadOf } from "#internal/tracing.ts";
|
|
2
|
+
import { deferralCount } from "#server/adapters/deferralCount.ts";
|
|
3
|
+
import { workerDiagnostics } from "#server/adapters/workerDiagnostics.ts";
|
|
4
|
+
import { jobContext } from "#server/definition.ts";
|
|
5
|
+
import { PgBossPayloadError } from "#server/error.ts";
|
|
6
|
+
import { payloadOf } from "#server/internal/tracing.ts";
|
|
7
7
|
export function runQueueWorker(worker, job, deadline, client, schema) {
|
|
8
8
|
return Schema.decodeUnknownEffect(Schema.toCodecJson(worker.queue.schema))(payloadOf(job.data)).pipe(Effect.mapError((error) => new PgBossPayloadError({
|
|
9
9
|
direction: "decode",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runQueueWorker.js","sourceRoot":"","sources":["../../../src/server/internal/runQueueWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"runQueueWorker.js","sourceRoot":"","sources":["../../../src/server/internal/runQueueWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAyB,UAAU,EAAoB,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAGxD,MAAM,UAAU,cAAc,CAC7B,MAA2E,EAC3E,GAAuB,EACvB,QAAgB,EAChB,MAAoB,EACpB,MAAc;IAEd,OAAO,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACnG,MAAM,CAAC,QAAQ,CACd,CAAC,KAAK,EAAE,EAAE,CACT,IAAI,kBAAkB,CAAC;QACtB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;KACxB,CAAC,CACH,EACD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1B,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAC7H,EACD,iBAAiB,CACjB,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect, Schema } from "effect";
|
|
2
|
-
import type { JobPayloadSchema } from "#definition.ts";
|
|
3
|
-
import { PgBossPayloadError } from "#error.ts";
|
|
2
|
+
import type { JobPayloadSchema } from "#server/definition.ts";
|
|
3
|
+
import { PgBossPayloadError } from "#server/error.ts";
|
|
4
4
|
export declare function quotedSchema(schema: string): string;
|
|
5
5
|
export declare function decodeStoredData<const TName extends string, const TPayload extends JobPayloadSchema | typeof Schema.Null>(queue: {
|
|
6
6
|
readonly name: TName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storedRows.d.ts","sourceRoot":"","sources":["../../../src/server/internal/storedRows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"storedRows.d.ts","sourceRoot":"","sources":["../../../src/server/internal/storedRows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,CAAC,QAAQ,SAAS,gBAAgB,GAAG,OAAO,MAAM,CAAC,IAAI,EACxH,KAAK,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,EAC1D,IAAI,EAAE,OAAO,GACX,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAInF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect, Redacted, Schema } from "effect";
|
|
2
|
-
import { PgBossPayloadError } from "#error.ts";
|
|
3
|
-
import { payloadOf } from "#internal/tracing.ts";
|
|
2
|
+
import { PgBossPayloadError } from "#server/error.ts";
|
|
3
|
+
import { payloadOf } from "#server/internal/tracing.ts";
|
|
4
4
|
export function quotedSchema(schema) {
|
|
5
5
|
return `"${schema.replaceAll('"', '""')}"`;
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storedRows.js","sourceRoot":"","sources":["../../../src/server/internal/storedRows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"storedRows.js","sourceRoot":"","sources":["../../../src/server/internal/storedRows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,MAAM,UAAU,YAAY,CAAC,MAAc;IAC1C,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC/B,KAA0D,EAC1D,IAAa;IAEb,OAAO,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACxF,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAC9H,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { PgBossTestingError } from "#server/error.ts";
|
|
3
|
+
import type { PgBossInspectionService } from "#server/inspection.ts";
|
|
4
4
|
export interface TestingBatch {
|
|
5
|
+
readonly jobs: ReadonlyMap<string, number>;
|
|
5
6
|
readonly name: string;
|
|
6
7
|
settled: boolean;
|
|
7
8
|
}
|
|
@@ -9,7 +10,7 @@ export interface TestingWork {
|
|
|
9
10
|
readonly batches: Set<TestingBatch>;
|
|
10
11
|
readonly queues: Set<string>;
|
|
11
12
|
}
|
|
12
|
-
export declare function testingIdle(
|
|
13
|
+
export declare function testingIdle(inspection: () => PgBossInspectionService, work: TestingWork, signal: {
|
|
13
14
|
readonly revision: Effect.Effect<number>;
|
|
14
15
|
readonly waitForChange: (after: number) => Effect.Effect<number>;
|
|
15
16
|
}): Effect.Effect<void, PgBossTestingError>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testingIdle.d.ts","sourceRoot":"","sources":["../../../src/server/internal/testingIdle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"testingIdle.d.ts","sourceRoot":"","sources":["../../../src/server/internal/testingIdle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrE,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED,wBAAgB,WAAW,CAC1B,UAAU,EAAE,MAAM,uBAAuB,EACzC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CAAE,GACpH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAazC"}
|
|
@@ -1,21 +1,7 @@
|
|
|
1
|
-
import { Clock, Effect
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
export function testingIdle(client, schema, work, signal) {
|
|
6
|
-
const busy = testingOperation("waitForIdle", async () => {
|
|
7
|
-
const quoted = quotedSchema(schema());
|
|
8
|
-
const { rows } = await client()
|
|
9
|
-
.getDb()
|
|
10
|
-
.executeSql(`/* jobs testing idle */ SELECT EXISTS (
|
|
11
|
-
SELECT 1 FROM ${quoted}.job
|
|
12
|
-
WHERE name = ANY($1::text[]) AND (
|
|
13
|
-
(state < 'active' AND NOT blocked AND start_after <= ${quoted}.job_now())
|
|
14
|
-
OR state = 'active'
|
|
15
|
-
)
|
|
16
|
-
) AS busy`, [[...work.queues]]);
|
|
17
|
-
return (await Schema.decodeUnknownPromise(Busy)(rows[0])).busy;
|
|
18
|
-
});
|
|
1
|
+
import { Clock, Effect } from "effect";
|
|
2
|
+
import { testingInspection } from "#server/internal/testingOperation.ts";
|
|
3
|
+
export function testingIdle(inspection, work, signal) {
|
|
4
|
+
const busy = Effect.suspend(() => testingInspection("waitForIdle", inspection().busy([...work.queues].map((name) => ({ name })))));
|
|
19
5
|
return Effect.gen(function* () {
|
|
20
6
|
while (true) {
|
|
21
7
|
const revision = yield* signal.revision;
|
|
@@ -24,13 +10,7 @@ export function testingIdle(client, schema, work, signal) {
|
|
|
24
10
|
if (work.queues.size === 0 || !(unsettled || (yield* busy))) {
|
|
25
11
|
return;
|
|
26
12
|
}
|
|
27
|
-
|
|
28
|
-
yield* signal.waitForChange(revision);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
// Other clients have no local callback; PostgreSQL remains the source of idle state.
|
|
32
|
-
yield* Effect.raceFirst(signal.waitForChange(revision), Effect.sleep("50 millis"));
|
|
33
|
-
}
|
|
13
|
+
yield* signal.waitForChange(revision);
|
|
34
14
|
}
|
|
35
15
|
}).pipe(Effect.provideService(Clock.Clock, Clock.Clock.defaultValue()));
|
|
36
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testingIdle.js","sourceRoot":"","sources":["../../../src/server/internal/testingIdle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"testingIdle.js","sourceRoot":"","sources":["../../../src/server/internal/testingIdle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAazE,MAAM,UAAU,WAAW,CAC1B,UAAyC,EACzC,IAAiB,EACjB,MAAsH;IAEtH,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnI,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1B,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YACxC,oGAAoG;YACpG,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO;YACR,CAAC;YACD,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;IACF,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { PgBossError, PgBossTestingError } from "#server/error.ts";
|
|
3
|
+
export declare function testingOperation<A>(operation: string, run: () => Promise<A>, queue?: string): Effect.Effect<A, PgBossTestingError, never>;
|
|
4
|
+
export declare function testingInspection<A, E, R>(operation: string, effect: Effect.Effect<A, E | PgBossError, R>, queue?: string): Effect.Effect<A, PgBossTestingError | Exclude<E, PgBossError>, R>;
|
|
5
|
+
//# sourceMappingURL=testingOperation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testingOperation.d.ts","sourceRoot":"","sources":["../../../src/server/internal/testingOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,+CAK3F;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,qEAOzH"}
|