@shivaedev/jobs 0.39.0 → 0.40.1
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 +17 -0
- package/README.md +43 -10
- package/dist/server/InspectionEngine.d.ts +27 -0
- package/dist/server/InspectionEngine.d.ts.map +1 -0
- package/dist/server/InspectionEngine.js +4 -0
- package/dist/server/InspectionEngine.js.map +1 -0
- package/dist/server/JobQueues.d.ts +6 -0
- package/dist/server/JobQueues.d.ts.map +1 -0
- package/dist/server/JobQueues.js +4 -0
- package/dist/server/JobQueues.js.map +1 -0
- package/dist/server/SchemaConnection.d.ts +7 -0
- package/dist/server/SchemaConnection.d.ts.map +1 -0
- package/dist/server/SchemaConnection.js +4 -0
- package/dist/server/SchemaConnection.js.map +1 -0
- package/dist/server/adapters/countsFor.d.ts.map +1 -0
- package/dist/server/adapters/countsFor.js.map +1 -0
- package/dist/server/adapters/ensureQueue.d.ts.map +1 -0
- package/dist/server/adapters/ensureQueue.js.map +1 -0
- package/dist/server/adapters/healthFor.d.ts.map +1 -0
- package/dist/server/adapters/healthFor.js.map +1 -0
- package/dist/server/adapters/inspection.d.ts +1 -2
- package/dist/server/adapters/inspection.d.ts.map +1 -1
- package/dist/server/adapters/inspection.js +20 -24
- package/dist/server/adapters/inspection.js.map +1 -1
- package/dist/server/adapters/inspectionJobs.d.ts +1 -43
- package/dist/server/adapters/inspectionJobs.d.ts.map +1 -1
- package/dist/server/adapters/inspectionJobs.js +1 -5
- package/dist/server/adapters/inspectionJobs.js.map +1 -1
- package/dist/server/adapters/inspectionLayer.d.ts +4 -0
- package/dist/server/adapters/inspectionLayer.d.ts.map +1 -0
- package/dist/server/adapters/inspectionLayer.js +7 -0
- package/dist/server/adapters/inspectionLayer.js.map +1 -0
- package/dist/server/adapters/inspectionReads.d.ts +12 -46
- package/dist/server/adapters/inspectionReads.d.ts.map +1 -1
- package/dist/server/adapters/inspectionReads.js +2 -2
- package/dist/server/adapters/inspectionReads.js.map +1 -1
- package/dist/server/adapters/inspectionSnapshot.d.ts +9 -4
- package/dist/server/adapters/inspectionSnapshot.d.ts.map +1 -1
- package/dist/server/adapters/inspectionSnapshot.js +17 -26
- package/dist/server/adapters/inspectionSnapshot.js.map +1 -1
- package/dist/server/adapters/installSchema.d.ts.map +1 -1
- package/dist/server/adapters/installSchema.js +4 -3
- package/dist/server/adapters/installSchema.js.map +1 -1
- package/dist/server/adapters/makeService.d.ts +4 -0
- package/dist/server/adapters/makeService.d.ts.map +1 -0
- package/dist/server/adapters/makeService.js +26 -0
- package/dist/server/adapters/makeService.js.map +1 -0
- package/dist/server/adapters/operationsLayer.d.ts +4 -0
- package/dist/server/adapters/operationsLayer.d.ts.map +1 -0
- package/dist/server/adapters/operationsLayer.js +17 -0
- package/dist/server/adapters/operationsLayer.js.map +1 -0
- package/dist/server/adapters/pgBossDefinitionLayer.d.ts.map +1 -0
- package/dist/server/{pgBossDefinitionLayer.js → adapters/pgBossDefinitionLayer.js} +7 -9
- package/dist/server/adapters/pgBossDefinitionLayer.js.map +1 -0
- package/dist/server/{register.d.ts → adapters/register.d.ts} +2 -2
- package/dist/server/adapters/register.d.ts.map +1 -0
- package/dist/server/{register.js → adapters/register.js} +8 -8
- package/dist/server/adapters/register.js.map +1 -0
- package/dist/server/adapters/registerReleasedJobs.d.ts +7 -0
- package/dist/server/adapters/registerReleasedJobs.d.ts.map +1 -0
- package/dist/server/{registerReleasedJobs.js → adapters/registerReleasedJobs.js} +5 -4
- package/dist/server/adapters/registerReleasedJobs.js.map +1 -0
- package/dist/server/adapters/registerWorker.d.ts +1 -1
- package/dist/server/adapters/registerWorker.d.ts.map +1 -1
- package/dist/server/adapters/registerWorker.js +2 -1
- package/dist/server/adapters/registerWorker.js.map +1 -1
- package/dist/server/adapters/retireJobs.d.ts.map +1 -1
- package/dist/server/adapters/retireJobs.js +1 -1
- package/dist/server/adapters/retireJobs.js.map +1 -1
- package/dist/server/adapters/runSchemaPlan.d.ts +4 -4
- package/dist/server/adapters/runSchemaPlan.d.ts.map +1 -1
- package/dist/server/adapters/runSchemaPlan.js +7 -4
- package/dist/server/adapters/runSchemaPlan.js.map +1 -1
- package/dist/server/enqueuePayload.d.ts +6 -0
- package/dist/server/enqueuePayload.d.ts.map +1 -0
- package/dist/server/enqueuePayload.js +29 -0
- package/dist/server/enqueuePayload.js.map +1 -0
- package/dist/server/getJob.d.ts +88 -0
- package/dist/server/getJob.d.ts.map +1 -0
- package/dist/server/{jobControl.js → getJob.js} +5 -7
- package/dist/server/getJob.js.map +1 -0
- package/dist/server/inspection.d.ts +13 -80
- package/dist/server/inspection.d.ts.map +1 -1
- package/dist/server/inspection.js +4 -39
- package/dist/server/inspection.js.map +1 -1
- package/dist/server/{operations/jobs.d.ts → inspectionJobs.d.ts} +8 -6
- package/dist/server/inspectionJobs.d.ts.map +1 -0
- package/dist/server/inspectionJobs.js +9 -0
- package/dist/server/inspectionJobs.js.map +1 -0
- package/dist/server/inspectionSnapshot.d.ts +82 -0
- package/dist/server/inspectionSnapshot.d.ts.map +1 -0
- package/dist/server/inspectionSnapshot.js +16 -0
- package/dist/server/inspectionSnapshot.js.map +1 -0
- package/dist/server/jobListings.d.ts +43 -13
- package/dist/server/jobListings.d.ts.map +1 -1
- package/dist/server/jobListings.js +8 -7
- package/dist/server/jobListings.js.map +1 -1
- package/dist/server/runQueueWorker.d.ts +3 -3
- package/dist/server/runQueueWorker.d.ts.map +1 -1
- package/dist/server/runQueueWorker.js +5 -3
- package/dist/server/runQueueWorker.js.map +1 -1
- package/dist/server/service.d.ts.map +1 -1
- package/dist/server/service.js +1 -1
- package/dist/server/service.js.map +1 -1
- package/dist/server/services/inspection/busy.d.ts +4 -0
- package/dist/server/services/inspection/busy.d.ts.map +1 -0
- package/dist/server/services/inspection/busy.js +7 -0
- package/dist/server/services/inspection/busy.js.map +1 -0
- package/dist/server/services/inspection/changes.d.ts +9 -0
- package/dist/server/services/inspection/changes.d.ts.map +1 -0
- package/dist/server/services/inspection/changes.js +8 -0
- package/dist/server/services/inspection/changes.js.map +1 -0
- package/dist/server/services/inspection/counts.d.ts +6 -0
- package/dist/server/services/inspection/counts.d.ts.map +1 -0
- package/dist/server/services/inspection/counts.js +8 -0
- package/dist/server/services/inspection/counts.js.map +1 -0
- package/dist/server/services/inspection/deferred.d.ts +7 -0
- package/dist/server/services/inspection/deferred.d.ts.map +1 -0
- package/dist/server/services/inspection/deferred.js +7 -0
- package/dist/server/services/inspection/deferred.js.map +1 -0
- package/dist/server/services/inspection/health.d.ts +6 -0
- package/dist/server/services/inspection/health.d.ts.map +1 -0
- package/dist/server/services/inspection/health.js +8 -0
- package/dist/server/services/inspection/health.js.map +1 -0
- package/dist/server/services/inspection/queue.d.ts +4 -0
- package/dist/server/services/inspection/queue.d.ts.map +1 -0
- package/dist/server/services/inspection/queue.js +7 -0
- package/dist/server/services/inspection/queue.js.map +1 -0
- package/dist/server/services/inspection/schedules.d.ts +4 -0
- package/dist/server/services/inspection/schedules.d.ts.map +1 -0
- package/dist/server/services/inspection/schedules.js +7 -0
- package/dist/server/services/inspection/schedules.js.map +1 -0
- package/dist/server/services/inspection/schemaVersion.d.ts +4 -0
- package/dist/server/services/inspection/schemaVersion.d.ts.map +1 -0
- package/dist/server/services/inspection/schemaVersion.js +7 -0
- package/dist/server/services/inspection/schemaVersion.js.map +1 -0
- package/dist/server/services/inspection/service.d.ts +40 -0
- package/dist/server/services/inspection/service.d.ts.map +1 -0
- package/dist/server/services/inspection/service.js +21 -0
- package/dist/server/services/inspection/service.js.map +1 -0
- package/dist/server/services/inspection/snapshot.d.ts +12 -0
- package/dist/server/services/inspection/snapshot.d.ts.map +1 -0
- package/dist/server/services/inspection/snapshot.js +7 -0
- package/dist/server/services/inspection/snapshot.js.map +1 -0
- package/dist/server/services/inspection/storedJobs.d.ts +6 -0
- package/dist/server/services/inspection/storedJobs.d.ts.map +1 -0
- package/dist/server/services/inspection/storedJobs.js +7 -0
- package/dist/server/services/inspection/storedJobs.js.map +1 -0
- package/dist/server/services/operations/counts.d.ts +6 -0
- package/dist/server/services/operations/counts.d.ts.map +1 -0
- package/dist/server/services/operations/counts.js +8 -0
- package/dist/server/services/operations/counts.js.map +1 -0
- package/dist/server/services/operations/deleteQueue.d.ts +4 -0
- package/dist/server/services/operations/deleteQueue.d.ts.map +1 -0
- package/dist/server/services/operations/deleteQueue.js +7 -0
- package/dist/server/services/operations/deleteQueue.js.map +1 -0
- package/dist/server/services/operations/enqueue.d.ts +5 -0
- package/dist/server/services/operations/enqueue.d.ts.map +1 -0
- package/dist/server/services/operations/enqueue.js +12 -0
- package/dist/server/services/operations/enqueue.js.map +1 -0
- package/dist/server/services/operations/getJob.d.ts +4 -0
- package/dist/server/services/operations/getJob.d.ts.map +1 -0
- package/dist/server/services/operations/getJob.js +7 -0
- package/dist/server/services/operations/getJob.js.map +1 -0
- package/dist/server/services/operations/health.d.ts +7 -0
- package/dist/server/services/operations/health.d.ts.map +1 -0
- package/dist/server/services/operations/health.js +10 -0
- package/dist/server/services/operations/health.js.map +1 -0
- package/dist/server/services/operations/listJobs.d.ts +6 -0
- package/dist/server/services/operations/listJobs.d.ts.map +1 -0
- package/dist/server/services/operations/listJobs.js +7 -0
- package/dist/server/services/operations/listJobs.js.map +1 -0
- package/dist/server/services/operations/refreshQueueStats.d.ts +4 -0
- package/dist/server/services/operations/refreshQueueStats.d.ts.map +1 -0
- package/dist/server/services/operations/refreshQueueStats.js +7 -0
- package/dist/server/services/operations/refreshQueueStats.js.map +1 -0
- package/dist/server/services/operations/retry.d.ts +4 -0
- package/dist/server/services/operations/retry.d.ts.map +1 -0
- package/dist/server/services/operations/retry.js +7 -0
- package/dist/server/services/operations/retry.js.map +1 -0
- package/dist/server/services/operations/service.d.ts +22 -0
- package/dist/server/services/operations/service.d.ts.map +1 -0
- package/dist/server/services/operations/service.js +21 -0
- package/dist/server/services/operations/service.js.map +1 -0
- package/dist/server/services/operations/unschedule.d.ts +4 -0
- package/dist/server/services/operations/unschedule.d.ts.map +1 -0
- package/dist/server/services/operations/unschedule.js +7 -0
- package/dist/server/services/operations/unschedule.js.map +1 -0
- package/dist/server/validateQueueNames.d.ts.map +1 -1
- package/dist/server/validateQueueNames.js +1 -1
- package/dist/server/validateQueueNames.js.map +1 -1
- package/package.json +6 -6
- package/src/server/InspectionEngine.ts +3 -0
- package/src/server/JobQueues.ts +2 -0
- package/src/server/SchemaConnection.ts +3 -0
- package/src/server/adapters/inspection.ts +24 -29
- package/src/server/adapters/inspectionJobs.ts +2 -12
- package/src/server/adapters/inspectionLayer.ts +7 -0
- package/src/server/adapters/inspectionReads.ts +2 -5
- package/src/server/adapters/inspectionSnapshot.ts +15 -33
- package/src/server/adapters/installSchema.ts +8 -5
- package/src/server/adapters/makeService.ts +31 -0
- package/src/server/adapters/operationsLayer.ts +23 -0
- package/src/server/{pgBossDefinitionLayer.ts → adapters/pgBossDefinitionLayer.ts} +7 -14
- package/src/server/{register.ts → adapters/register.ts} +7 -22
- package/src/server/{registerReleasedJobs.ts → adapters/registerReleasedJobs.ts} +6 -5
- package/src/server/adapters/registerWorker.ts +1 -1
- package/src/server/adapters/retireJobs.ts +1 -1
- package/src/server/adapters/runSchemaPlan.ts +7 -11
- package/src/server/enqueuePayload.ts +38 -0
- package/src/server/getJob.ts +28 -0
- package/src/server/inspection.ts +18 -43
- package/src/server/inspectionJobs.ts +13 -0
- package/src/server/inspectionSnapshot.ts +18 -0
- package/src/server/jobListings.ts +20 -16
- package/src/server/runQueueWorker.ts +5 -6
- package/src/server/service.ts +1 -1
- package/src/server/services/inspection/busy.ts +6 -0
- package/src/server/services/inspection/changes.ts +7 -0
- package/src/server/services/inspection/counts.ts +7 -0
- package/src/server/services/inspection/deferred.ts +8 -0
- package/src/server/services/inspection/health.ts +10 -0
- package/src/server/services/inspection/queue.ts +8 -0
- package/src/server/services/inspection/schedules.ts +8 -0
- package/src/server/services/inspection/schemaVersion.ts +8 -0
- package/src/server/services/inspection/service.ts +20 -0
- package/src/server/services/inspection/snapshot.ts +8 -0
- package/src/server/services/inspection/storedJobs.ts +8 -0
- package/src/server/services/operations/counts.ts +7 -0
- package/src/server/services/operations/deleteQueue.ts +7 -0
- package/src/server/services/operations/enqueue.ts +12 -0
- package/src/server/services/operations/getJob.ts +6 -0
- package/src/server/services/operations/health.ts +9 -0
- package/src/server/services/operations/listJobs.ts +8 -0
- package/src/server/services/operations/refreshQueueStats.ts +7 -0
- package/src/server/services/operations/retry.ts +6 -0
- package/src/server/services/operations/service.ts +20 -0
- package/src/server/services/operations/unschedule.ts +7 -0
- package/src/server/validateQueueNames.ts +1 -1
- package/dist/server/PgBossInitialization.d.ts +0 -9
- package/dist/server/PgBossInitialization.d.ts.map +0 -1
- package/dist/server/PgBossInitialization.js +0 -4
- package/dist/server/PgBossInitialization.js.map +0 -1
- package/dist/server/PgBossOperations.d.ts +0 -27
- package/dist/server/PgBossOperations.d.ts.map +0 -1
- package/dist/server/PgBossOperations.js +0 -35
- package/dist/server/PgBossOperations.js.map +0 -1
- package/dist/server/countsFor.d.ts.map +0 -1
- package/dist/server/countsFor.js.map +0 -1
- package/dist/server/enqueueFor.d.ts +0 -4
- package/dist/server/enqueueFor.d.ts.map +0 -1
- package/dist/server/enqueueFor.js +0 -36
- package/dist/server/enqueueFor.js.map +0 -1
- package/dist/server/ensureQueue.d.ts.map +0 -1
- package/dist/server/ensureQueue.js.map +0 -1
- package/dist/server/healthFor.d.ts.map +0 -1
- package/dist/server/healthFor.js.map +0 -1
- package/dist/server/initializeInspection.d.ts +0 -4
- package/dist/server/initializeInspection.d.ts.map +0 -1
- package/dist/server/initializeInspection.js +0 -8
- package/dist/server/initializeInspection.js.map +0 -1
- package/dist/server/initializeJobs.d.ts +0 -4
- package/dist/server/initializeJobs.d.ts.map +0 -1
- package/dist/server/initializeJobs.js +0 -4
- package/dist/server/initializeJobs.js.map +0 -1
- package/dist/server/jobControl.d.ts +0 -10
- package/dist/server/jobControl.d.ts.map +0 -1
- package/dist/server/jobControl.js.map +0 -1
- package/dist/server/makeService.d.ts +0 -6
- package/dist/server/makeService.d.ts.map +0 -1
- package/dist/server/makeService.js +0 -22
- package/dist/server/makeService.js.map +0 -1
- package/dist/server/operations/busy.d.ts +0 -3
- package/dist/server/operations/busy.d.ts.map +0 -1
- package/dist/server/operations/busy.js +0 -4
- package/dist/server/operations/busy.js.map +0 -1
- package/dist/server/operations/changes.d.ts +0 -5
- package/dist/server/operations/changes.d.ts.map +0 -1
- package/dist/server/operations/changes.js +0 -4
- package/dist/server/operations/changes.js.map +0 -1
- package/dist/server/operations/counts.d.ts +0 -3
- package/dist/server/operations/counts.d.ts.map +0 -1
- package/dist/server/operations/counts.js +0 -4
- package/dist/server/operations/counts.js.map +0 -1
- package/dist/server/operations/deadLetteredJobs.d.ts +0 -6
- package/dist/server/operations/deadLetteredJobs.d.ts.map +0 -1
- package/dist/server/operations/deadLetteredJobs.js +0 -4
- package/dist/server/operations/deadLetteredJobs.js.map +0 -1
- package/dist/server/operations/deferred.d.ts +0 -6
- package/dist/server/operations/deferred.d.ts.map +0 -1
- package/dist/server/operations/deferred.js +0 -4
- package/dist/server/operations/deferred.js.map +0 -1
- package/dist/server/operations/deleteQueue.d.ts +0 -3
- package/dist/server/operations/deleteQueue.d.ts.map +0 -1
- package/dist/server/operations/deleteQueue.js +0 -4
- package/dist/server/operations/deleteQueue.js.map +0 -1
- package/dist/server/operations/enqueue.d.ts +0 -3
- package/dist/server/operations/enqueue.d.ts.map +0 -1
- package/dist/server/operations/enqueue.js +0 -4
- package/dist/server/operations/enqueue.js.map +0 -1
- package/dist/server/operations/failedJobs.d.ts +0 -6
- package/dist/server/operations/failedJobs.d.ts.map +0 -1
- package/dist/server/operations/failedJobs.js +0 -4
- package/dist/server/operations/failedJobs.js.map +0 -1
- package/dist/server/operations/getJob.d.ts +0 -6
- package/dist/server/operations/getJob.d.ts.map +0 -1
- package/dist/server/operations/getJob.js +0 -4
- package/dist/server/operations/getJob.js.map +0 -1
- package/dist/server/operations/health.d.ts +0 -3
- package/dist/server/operations/health.d.ts.map +0 -1
- package/dist/server/operations/health.js +0 -4
- package/dist/server/operations/health.js.map +0 -1
- package/dist/server/operations/inspection.d.ts +0 -3
- package/dist/server/operations/inspection.d.ts.map +0 -1
- package/dist/server/operations/inspection.js +0 -4
- package/dist/server/operations/inspection.js.map +0 -1
- package/dist/server/operations/inspectionHealth.d.ts +0 -5
- package/dist/server/operations/inspectionHealth.d.ts.map +0 -1
- package/dist/server/operations/inspectionHealth.js +0 -4
- package/dist/server/operations/inspectionHealth.js.map +0 -1
- package/dist/server/operations/jobs.d.ts.map +0 -1
- package/dist/server/operations/jobs.js +0 -4
- package/dist/server/operations/jobs.js.map +0 -1
- package/dist/server/operations/queue.d.ts +0 -3
- package/dist/server/operations/queue.d.ts.map +0 -1
- package/dist/server/operations/queue.js +0 -4
- package/dist/server/operations/queue.js.map +0 -1
- package/dist/server/operations/refreshQueueStats.d.ts +0 -3
- package/dist/server/operations/refreshQueueStats.d.ts.map +0 -1
- package/dist/server/operations/refreshQueueStats.js +0 -4
- package/dist/server/operations/refreshQueueStats.js.map +0 -1
- package/dist/server/operations/retry.d.ts +0 -3
- package/dist/server/operations/retry.d.ts.map +0 -1
- package/dist/server/operations/retry.js +0 -4
- package/dist/server/operations/retry.js.map +0 -1
- package/dist/server/operations/schedules.d.ts +0 -3
- package/dist/server/operations/schedules.d.ts.map +0 -1
- package/dist/server/operations/schedules.js +0 -4
- package/dist/server/operations/schedules.js.map +0 -1
- package/dist/server/operations/schemaVersion.d.ts +0 -3
- package/dist/server/operations/schemaVersion.d.ts.map +0 -1
- package/dist/server/operations/schemaVersion.js +0 -4
- package/dist/server/operations/schemaVersion.js.map +0 -1
- package/dist/server/operations/snapshot.d.ts +0 -3
- package/dist/server/operations/snapshot.d.ts.map +0 -1
- package/dist/server/operations/snapshot.js +0 -4
- package/dist/server/operations/snapshot.js.map +0 -1
- package/dist/server/operations/storedJobs.d.ts +0 -5
- package/dist/server/operations/storedJobs.d.ts.map +0 -1
- package/dist/server/operations/storedJobs.js +0 -4
- package/dist/server/operations/storedJobs.js.map +0 -1
- package/dist/server/operations/unschedule.d.ts +0 -3
- package/dist/server/operations/unschedule.d.ts.map +0 -1
- package/dist/server/operations/unschedule.js +0 -4
- package/dist/server/operations/unschedule.js.map +0 -1
- package/dist/server/pgBossDefinitionLayer.d.ts.map +0 -1
- package/dist/server/pgBossDefinitionLayer.js.map +0 -1
- package/dist/server/register.d.ts.map +0 -1
- package/dist/server/register.js.map +0 -1
- package/dist/server/registerReleasedJobs.d.ts +0 -6
- package/dist/server/registerReleasedJobs.d.ts.map +0 -1
- package/dist/server/registerReleasedJobs.js.map +0 -1
- package/src/server/PgBossInitialization.ts +0 -9
- package/src/server/PgBossOperations.ts +0 -35
- package/src/server/enqueueFor.ts +0 -44
- package/src/server/initializeInspection.ts +0 -8
- package/src/server/initializeJobs.ts +0 -4
- package/src/server/jobControl.ts +0 -27
- package/src/server/makeService.ts +0 -28
- package/src/server/operations/busy.ts +0 -5
- package/src/server/operations/changes.ts +0 -5
- package/src/server/operations/counts.ts +0 -5
- package/src/server/operations/deadLetteredJobs.ts +0 -5
- package/src/server/operations/deferred.ts +0 -5
- package/src/server/operations/deleteQueue.ts +0 -5
- package/src/server/operations/enqueue.ts +0 -5
- package/src/server/operations/failedJobs.ts +0 -5
- package/src/server/operations/getJob.ts +0 -5
- package/src/server/operations/health.ts +0 -5
- package/src/server/operations/inspection.ts +0 -5
- package/src/server/operations/inspectionHealth.ts +0 -5
- package/src/server/operations/jobs.ts +0 -5
- package/src/server/operations/queue.ts +0 -5
- package/src/server/operations/refreshQueueStats.ts +0 -5
- package/src/server/operations/retry.ts +0 -5
- package/src/server/operations/schedules.ts +0 -5
- package/src/server/operations/schemaVersion.ts +0 -5
- package/src/server/operations/snapshot.ts +0 -5
- package/src/server/operations/storedJobs.ts +0 -5
- package/src/server/operations/unschedule.ts +0 -5
- /package/dist/server/{countsFor.d.ts → adapters/countsFor.d.ts} +0 -0
- /package/dist/server/{countsFor.js → adapters/countsFor.js} +0 -0
- /package/dist/server/{ensureQueue.d.ts → adapters/ensureQueue.d.ts} +0 -0
- /package/dist/server/{ensureQueue.js → adapters/ensureQueue.js} +0 -0
- /package/dist/server/{healthFor.d.ts → adapters/healthFor.d.ts} +0 -0
- /package/dist/server/{healthFor.js → adapters/healthFor.js} +0 -0
- /package/dist/server/{pgBossDefinitionLayer.d.ts → adapters/pgBossDefinitionLayer.d.ts} +0 -0
- /package/src/server/{countsFor.ts → adapters/countsFor.ts} +0 -0
- /package/src/server/{ensureQueue.ts → adapters/ensureQueue.ts} +0 -0
- /package/src/server/{healthFor.ts → adapters/healthFor.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.40.1 - 2026-11-06
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- Update `@shivaedev/sql` from 0.43.0 to 0.44.0.
|
|
8
|
+
|
|
9
|
+
## 0.40.0 - 2026-11-05
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Provide job storage and inspection services through the existing jobs and inspection Layers. Operations yield their dependencies and emit service operation spans while preserving caller payload context and SQL transaction participation.
|
|
14
|
+
|
|
15
|
+
### Breaking
|
|
16
|
+
|
|
17
|
+
- Replace direct imports of `PgBossOperations`, `PgBossInitialization`, `initializeJobs`, `initializeInspection`, `makeService`, `enqueueFor`, `jobControl`, `jobListings` and `server/operations/*` with `makePgBoss` from `server/service.ts` and its Layer-bound methods. Use `jobs.inspection()` or the existing `PgBossInspection.layer` for typed inspection instead of the client-taking `inspection`, `inspectionReads`, `inspectionJobs` and `inspectionSnapshot` adapter helpers, which now expose storage reads. The low-level storage service now lives at `server/services/operations/service.ts` and accepts encoded data; its shape is not the typed jobs facade.
|
|
18
|
+
- Import registration and definition Layer bridges from `server/adapters/register.ts`, `server/adapters/registerReleasedJobs.ts` and `server/adapters/pgBossDefinitionLayer.ts`. Registration reads its Effect context and scope from the environment; remove those arguments and provide worker services and `PgBoss` in the environment. `registerWorker` also reads its scope from the environment. `runQueueWorker` yields `PgBoss`; remove its client and schema arguments. Move direct `ensureQueue`, `countsFor` and `healthFor` imports to `server/adapters/`. `runSchemaPlan` is now an Effect that yields `SchemaConnection`; provide the reserved SQL connection through that service instead of passing a connection and runner.
|
|
19
|
+
|
|
3
20
|
## 0.39.0 - 2026-11-05
|
|
4
21
|
|
|
5
22
|
### Breaking
|
package/README.md
CHANGED
|
@@ -31,6 +31,8 @@ A **schedule definition** describes a queue with a cron trigger. `schedule.run(e
|
|
|
31
31
|
|
|
32
32
|
The application creates one jobs service with `makePgBoss(identifier, queueNames?)`. Its Layer reads the shared `PgBoss` service, registers the job list and captures the services those workers need. One `pgBossLayer` owns the client and pool for the application; feature registrations drain before that Layer closes its client. Callers use the jobs service to enqueue a decoded payload, look up or retry a job, read queue health and live counts, or list failed and dead-lettered jobs.
|
|
33
33
|
|
|
34
|
+
The client, inspection reads and registered queue names are Layer-provided services. Core operations yield those services from the environment and keep no dependencies in initializer state. `Jobs.layer(...)` and the standalone `PgBossInspection.layer` provide their internal services together; applications need no additional Layers. Client operations emit `PgBossOperations.*` and `PgBossInspectionReads.*` spans. Enqueueing captures the caller’s span before the storage operation, so a worker still links to the request or job that queued it.
|
|
35
|
+
|
|
34
36
|
Use a distinct literal identifier for each jobs service. The service and its Layer keep that identifier in their types, so providing a Layer for a different identifier leaves the required jobs service unprovided at compile time.
|
|
35
37
|
|
|
36
38
|
The work separates naturally: declare the application services once, define a queue and its worker for each feature, provide the complete registration list at the runtime boundary, and enqueue from ordinary application Effects.
|
|
@@ -40,10 +42,20 @@ The work separates naturally: declare the application services once, define a qu
|
|
|
40
42
|
`jobModule` from `@shivaedev/jobs/server/jobModule.ts` returns `queues` and `workers` fields for an `AppModule` in `@shivaedev/server`. Its queue declarations come from the same registrations its worker Layer runs:
|
|
41
43
|
|
|
42
44
|
```ts
|
|
45
|
+
import { Effect } from "effect";
|
|
43
46
|
import { jobModule } from "@shivaedev/jobs/server/jobModule.ts";
|
|
44
47
|
import { Jobs, SendEmail, Mail } from "./app.ts";
|
|
45
48
|
|
|
46
|
-
const jobs = jobModule(Jobs.layer, {
|
|
49
|
+
const jobs = jobModule(Jobs.layer, {
|
|
50
|
+
jobs: [
|
|
51
|
+
SendEmail.handle(({ userId }) =>
|
|
52
|
+
Effect.gen(function* () {
|
|
53
|
+
const mail = yield* Mail;
|
|
54
|
+
yield* mail.send(userId);
|
|
55
|
+
}),
|
|
56
|
+
),
|
|
57
|
+
],
|
|
58
|
+
});
|
|
47
59
|
```
|
|
48
60
|
|
|
49
61
|
Spread these fields into the owning module. Keep the producer's jobs Layer in its services or ports. The application builds `appModules` once and passes its result to `appHost` or `workerHost`; both hosts provide the module's services and ports to their work. Queue definitions without handlers and scheduled workers can also appear in the registration list.
|
|
@@ -131,29 +143,50 @@ After installation, pass the same schema and `migrate: false` to `pgBossLayer` t
|
|
|
131
143
|
|
|
132
144
|
### Once per application: the jobs service
|
|
133
145
|
|
|
134
|
-
Define the application's jobs service and worker dependencies in `services.ts
|
|
146
|
+
Define the application's jobs service and worker dependencies in `services.ts`. The application's `#mail` alias points to its mail service folder:
|
|
135
147
|
|
|
136
148
|
```ts
|
|
137
149
|
import { makePgBoss } from "@shivaedev/jobs/server/service.ts";
|
|
138
|
-
import {
|
|
139
|
-
import { defineService } from "@shivaedev/service/defineService.ts";
|
|
150
|
+
import { Mail } from "#mail/service.ts";
|
|
140
151
|
|
|
152
|
+
export { Mail };
|
|
141
153
|
export const Jobs = makePgBoss("@app/Jobs");
|
|
154
|
+
export const MailLive = Mail.layer;
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
`Jobs` is the service that callers yield. `Mail` is a separate domain service that workers use. Its `service.ts` declares its requirements once and inventories operations imported from sibling files:
|
|
158
|
+
|
|
159
|
+
```ts
|
|
160
|
+
import { Effect } from "effect";
|
|
161
|
+
import { defineService } from "@shivaedev/service/defineService.ts";
|
|
162
|
+
import { removeExpired } from "./removeExpired.ts";
|
|
163
|
+
import { send } from "./send.ts";
|
|
142
164
|
|
|
143
165
|
export const Mail = defineService({
|
|
144
166
|
id: "@app/Mail",
|
|
145
167
|
requires: [],
|
|
146
168
|
initialize: Effect.void,
|
|
147
|
-
methods: () => ({
|
|
148
|
-
send: (userId: number) => Effect.log({ event: "send_email", userId }),
|
|
149
|
-
removeExpired: () => Effect.log({ event: "remove_expired_mail" }),
|
|
150
|
-
}),
|
|
169
|
+
methods: () => ({ removeExpired, send }),
|
|
151
170
|
});
|
|
171
|
+
```
|
|
152
172
|
|
|
153
|
-
|
|
173
|
+
`send.ts` holds one traced operation:
|
|
174
|
+
|
|
175
|
+
```ts
|
|
176
|
+
import { Effect } from "effect";
|
|
177
|
+
|
|
178
|
+
export const send = Effect.fn("Mail.send")((userId: number) => Effect.log({ event: "send_email", userId }));
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
`removeExpired.ts` holds the other operation:
|
|
182
|
+
|
|
183
|
+
```ts
|
|
184
|
+
import { Effect } from "effect";
|
|
185
|
+
|
|
186
|
+
export const removeExpired = Effect.fn("Mail.removeExpired")(() => Effect.log({ event: "remove_expired_mail" }));
|
|
154
187
|
```
|
|
155
188
|
|
|
156
|
-
|
|
189
|
+
The example logs domain calls; the application supplies its mail implementation. An operation that needs another service yields it from the environment, and `requires` declares that service on `Mail`. Its initializer holds only owned lifetime state. The jobs package does not need a provider-specific interface.
|
|
157
190
|
|
|
158
191
|
Registration collections retain their workers' handler, payload-decoding and scheduled-effect service requirements in `Jobs.layer`. Use `satisfies readonly JobRegistration[]` to check a reusable collection while preserving its inferred requirements, or annotate it as `readonly JobRegistration<Services>[]` with the union of services it needs. A plain `JobRegistration[]` leaves requirements `unknown`. Queue workers require both their queue and handler; scheduled workers require both their schedule and effect. Incomplete registrations are TypeScript errors. Producer-only queue definitions need no handler or decoding services at startup.
|
|
159
192
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Context } from "effect";
|
|
2
|
+
declare const InspectionEngine_base: Context.ServiceClass<InspectionEngine, "@shivaedev/jobs/InspectionEngine", {
|
|
3
|
+
deferred: (queue: Pick<import("./definition.ts").QueueDefinition, "name">) => import("effect/Effect").Effect<{
|
|
4
|
+
at: import("effect/DateTime").Utc;
|
|
5
|
+
reason: string;
|
|
6
|
+
}[], import("./error.ts").PgBossError, never>;
|
|
7
|
+
busy: (queues: readonly Pick<import("./definition.ts").QueueDefinition, "name">[]) => import("effect/Effect").Effect<boolean, import("./error.ts").PgBossError, never>;
|
|
8
|
+
queue: (queue: Pick<import("./definition.ts").QueueDefinition, "name">) => import("effect/Effect").Effect<import("./client.ts").ClientQueue | null, import("./error.ts").PgBossError, never>;
|
|
9
|
+
schedules: (name?: string, key?: string) => import("effect/Effect").Effect<import("./engineClient.ts").EngineSchedule[], import("./error.ts").PgBossError, never>;
|
|
10
|
+
schemaVersion: () => import("effect/Effect").Effect<number | null, import("./error.ts").PgBossError, never>;
|
|
11
|
+
snapshot: (queues: readonly {
|
|
12
|
+
readonly name: string;
|
|
13
|
+
}[]) => import("effect/Effect").Effect<readonly {
|
|
14
|
+
readonly data: unknown;
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly queue: string;
|
|
17
|
+
readonly startAfter: import("effect/DateTime").Utc;
|
|
18
|
+
readonly state: "active" | "created" | "deferred" | "failed" | "retry";
|
|
19
|
+
}[], import("./error.ts").PgBossError, never>;
|
|
20
|
+
storedJobs: (queue: {
|
|
21
|
+
readonly name: string;
|
|
22
|
+
}, options?: import("./client.ts").JobReadOptions) => import("effect/Effect").Effect<readonly import("./job.ts").Job<unknown>[], import("./error.ts").PgBossError, never>;
|
|
23
|
+
}>;
|
|
24
|
+
export declare class InspectionEngine extends InspectionEngine_base {
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=InspectionEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InspectionEngine.d.ts","sourceRoot":"","sources":["../../src/server/InspectionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;AAEjC,qBAAa,gBAAiB,SAAQ,qBAA2G;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InspectionEngine.js","sourceRoot":"","sources":["../../src/server/InspectionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,OAAO,gBAAiB,SAAQ,OAAO,CAAC,OAAO,EAAwD,CAAC,kCAAkC,CAAC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JobQueues.d.ts","sourceRoot":"","sources":["../../src/server/JobQueues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;;AACjC,qBAAa,SAAU,SAAQ,cAA4E;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JobQueues.js","sourceRoot":"","sources":["../../src/server/JobQueues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,OAAO,EAAgC,CAAC,2BAA2B,CAAC;CAAG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Context } from "effect";
|
|
2
|
+
import type { Connection } from "effect/sql/SqlConnection";
|
|
3
|
+
declare const SchemaConnection_base: Context.ServiceClass<SchemaConnection, "@shivaedev/jobs/SchemaConnection", Connection>;
|
|
4
|
+
export declare class SchemaConnection extends SchemaConnection_base {
|
|
5
|
+
}
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=SchemaConnection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaConnection.d.ts","sourceRoot":"","sources":["../../src/server/SchemaConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;;AAC3D,qBAAa,gBAAiB,SAAQ,qBAAmF;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaConnection.js","sourceRoot":"","sources":["../../src/server/SchemaConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,OAAO,gBAAiB,SAAQ,OAAO,CAAC,OAAO,EAAgC,CAAC,kCAAkC,CAAC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countsFor.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/countsFor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUrD,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,kBAAkB,EAAE,WAAW,CAAC,CAoBhJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countsFor.js","sourceRoot":"","sources":["../../../src/server/adapters/countsFor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM;CACzB,CAAC,CAAC;AAEH,MAAM,UAAU,SAAS,CAAC,MAAoB,EAAE,MAAc,EAAE,IAAY;IAC3E,OAAO,MAAM,CAAC,UAAU,CAAC;QACxB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;QACtD,GAAG,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,UAAU,CAC/C;;;;;WAKO,MAAM,sBAAsB,EACnC,CAAC,IAAI,CAAC,CACN,CAAC;YACF,OAAO,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureQueue.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/ensureQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkB1E,eAAO,MAAM,WAAW,mIAwBtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureQueue.js","sourceRoot":"","sources":["../../../src/server/adapters/ensureQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAClC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,sHAAsH;AACtH,wEAAwE;AACxE,SAAS,WAAW,CAAC,MAAoB,EAAE,IAAY,EAAE,OAA4B;IACpF,OAAO,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CACvG,MAAM,CAAC,KAAK,CAAC;QACZ,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5F,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YAAY,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,iBAAiB;KAC5F,CAAC,CACF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAoB,EAAE,IAAY,EAAE,OAA+C;IAC1I,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC;IAC9E,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzG,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;IACR,CAAC;IACD,MAAM,SAAS,GAAI,CAAC,WAAW,EAAE,QAAQ,CAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACnI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,CAAC,IAAI,uBAAuB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5H,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO;IACR,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC9F,CAAC;IACD,2EAA2E;IAC3E,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthFor.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/healthFor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAuB,KAAK,UAAU,EAAoB,MAAM,mBAAmB,CAAC;AAE3F,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,kBAAkB,EAAE,WAAW,CAAC,CA6B3I"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthFor.js","sourceRoot":"","sources":["../../../src/server/adapters/healthFor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAqC,MAAM,mBAAmB,CAAC;AAE3F,MAAM,UAAU,SAAS,CAAC,MAAoB,EAAE,KAAwB;IACvE,OAAO,MAAM,CAAC,OAAO,CACpB,KAAK,EACL,CAAC,IAAI,EAAE,EAAE,CACR,MAAM,CAAC,UAAU,CAAC;QACjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;QACtD,GAAG,EAAE,KAAK,IAA0B,EAAE;YACrC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACnH,OAAO;gBACN,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC;gBACpC,iBAAiB,EAAE,UAAU,EAAE,WAAW,IAAI,CAAC;gBAC/C,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC;gBACpC,IAAI;gBACJ,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC;gBACpC,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC;aAClC,CAAC;QACH,CAAC;KACD,CAAC,EACH,EAAE,WAAW,EAAE,WAAW,EAAE,CAC5B,CAAC,IAAI,CACL,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC5E,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;KAC9D,CAAC,CAAC,CACH,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
-
import type { PgBossClient } from "#server/client.ts";
|
|
3
2
|
import type { PgBossInspectionService } from "#server/inspection.ts";
|
|
4
|
-
export declare
|
|
3
|
+
export declare const inspection: () => Effect.Effect<PgBossInspectionService, never, "@shivaedev/jobs/PgBossInspectionReads" | "@shivaedev/jobs/PgBossOperations">;
|
|
5
4
|
//# sourceMappingURL=inspection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAOrE,eAAO,MAAM,UAAU,mIAgBrB,CAAC"}
|
|
@@ -1,25 +1,21 @@
|
|
|
1
|
-
import { Effect } from "effect";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
return
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
health: (queues) => healthFor(client, queues.map((queue) => queue.name)),
|
|
22
|
-
};
|
|
23
|
-
}).pipe(Effect.provideService(JobEngine, engine));
|
|
24
|
-
}
|
|
1
|
+
import { Context, Effect } from "effect";
|
|
2
|
+
import { getJob } from "#server/getJob.ts";
|
|
3
|
+
import { inspectionJobs } from "#server/inspectionJobs.ts";
|
|
4
|
+
import { inspectionSnapshot } from "#server/inspectionSnapshot.ts";
|
|
5
|
+
import { deadLetteredJobs, failedJobs } from "#server/jobListings.ts";
|
|
6
|
+
import { PgBossInspectionReads } from "#server/services/inspection/service.ts";
|
|
7
|
+
import { PgBossOperations } from "#server/services/operations/service.ts";
|
|
8
|
+
export const inspection = Effect.fnUntraced(function* () {
|
|
9
|
+
const ambient = yield* Effect.context();
|
|
10
|
+
const context = Context.pick(PgBossOperations, PgBossInspectionReads)(ambient);
|
|
11
|
+
const reads = yield* PgBossInspectionReads;
|
|
12
|
+
return {
|
|
13
|
+
...reads,
|
|
14
|
+
deadLetteredJobs: (queue, options) => deadLetteredJobs(queue, options).pipe(Effect.provide(context)),
|
|
15
|
+
failedJobs: (queue, options) => failedJobs(queue, options).pipe(Effect.provide(context)),
|
|
16
|
+
getJob: (queue, id) => getJob(queue, id).pipe(Effect.provide(context)),
|
|
17
|
+
jobs: (queue, options) => inspectionJobs(queue, options).pipe(Effect.provide(context)),
|
|
18
|
+
snapshot: (queues) => inspectionSnapshot(queues).pipe(Effect.provide(context)),
|
|
19
|
+
};
|
|
20
|
+
});
|
|
25
21
|
//# sourceMappingURL=inspection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspection.js","sourceRoot":"","sources":["../../../src/server/adapters/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"inspection.js","sourceRoot":"","sources":["../../../src/server/adapters/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;IAKpD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAgF,CAAC;IACtH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,qBAAqB,CAAC;IAC3C,OAAO;QACN,GAAG,KAAK;QACR,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpG,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxF,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtF,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC9E,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1,48 +1,6 @@
|
|
|
1
|
-
import { Effect
|
|
1
|
+
import { Effect } from "effect";
|
|
2
2
|
import type { JobReadOptions, PgBossClient } from "#server/client.ts";
|
|
3
|
-
import type { JobPayloadSchema } from "#server/definition.ts";
|
|
4
3
|
export declare function inspectionJobs(client: PgBossClient): {
|
|
5
|
-
jobs: <TName extends string, TPayload extends JobPayloadSchema | typeof Schema.Null>(queue: {
|
|
6
|
-
readonly name: TName;
|
|
7
|
-
readonly schema: TPayload;
|
|
8
|
-
}, options?: JobReadOptions) => Effect.Effect<{
|
|
9
|
-
expireInSeconds: number;
|
|
10
|
-
groupId?: string | null;
|
|
11
|
-
groupTier?: string | null;
|
|
12
|
-
heartbeatSeconds: number | null;
|
|
13
|
-
id: string;
|
|
14
|
-
name: string;
|
|
15
|
-
retryCount: number;
|
|
16
|
-
signal: AbortSignal;
|
|
17
|
-
blocked: boolean;
|
|
18
|
-
blocking: boolean;
|
|
19
|
-
completedOn: Date | null;
|
|
20
|
-
createdOn: Date;
|
|
21
|
-
deadLetter: string;
|
|
22
|
-
deleteAfterSeconds: number;
|
|
23
|
-
heartbeatOn: Date | null;
|
|
24
|
-
keepUntil: Date;
|
|
25
|
-
output: object | null;
|
|
26
|
-
pendingDependencies: number;
|
|
27
|
-
policy: string;
|
|
28
|
-
priority: number;
|
|
29
|
-
retryBackoff: boolean;
|
|
30
|
-
retryDelay: number;
|
|
31
|
-
retryDelayMax?: number;
|
|
32
|
-
retryLimit: number;
|
|
33
|
-
singletonKey: string | null;
|
|
34
|
-
singletonOn: Date | null;
|
|
35
|
-
sourceCreatedOn: Date | null;
|
|
36
|
-
sourceId: string | null;
|
|
37
|
-
sourceName: string | null;
|
|
38
|
-
sourceOutput: object | null;
|
|
39
|
-
sourceRetryCount: number | null;
|
|
40
|
-
sourceRootId: string | null;
|
|
41
|
-
startAfter: Date;
|
|
42
|
-
startedOn: Date | null;
|
|
43
|
-
state: import("../job.ts").JobState;
|
|
44
|
-
data: TPayload["Type"];
|
|
45
|
-
}[], import("#server/error.ts").PgBossError | import("#server/error.ts").PgBossPayloadError, TPayload["DecodingServices"]>;
|
|
46
4
|
storedJobs: (queue: {
|
|
47
5
|
readonly name: string;
|
|
48
6
|
}, options?: JobReadOptions) => Effect.Effect<readonly import("../job.ts").Job<unknown>[], import("#server/error.ts").PgBossError, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspectionJobs.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/inspectionJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"inspectionJobs.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/inspectionJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtE,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY;wBACvB;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,YAAY,cAAc;EAY9E"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { toPgBossError } from "#server/error.ts";
|
|
3
|
-
import { decodeStoredData } from "#server/storedRows.ts";
|
|
4
3
|
export function inspectionJobs(client) {
|
|
5
4
|
function storedJobs(queue, options) {
|
|
6
5
|
return Effect.tryPromise({
|
|
@@ -13,9 +12,6 @@ export function inspectionJobs(client) {
|
|
|
13
12
|
},
|
|
14
13
|
});
|
|
15
14
|
}
|
|
16
|
-
|
|
17
|
-
return storedJobs(queue, options).pipe(Effect.flatMap((rows) => Effect.forEach(rows, (job) => decodeStoredData(queue, job.data).pipe(Effect.map((data) => ({ ...job, data }))))));
|
|
18
|
-
}
|
|
19
|
-
return { jobs, storedJobs };
|
|
15
|
+
return { storedJobs };
|
|
20
16
|
}
|
|
21
17
|
//# sourceMappingURL=inspectionJobs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspectionJobs.js","sourceRoot":"","sources":["../../../src/server/adapters/inspectionJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"inspectionJobs.js","sourceRoot":"","sources":["../../../src/server/adapters/inspectionJobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,UAAU,cAAc,CAAC,MAAoB;IAClD,SAAS,UAAU,CAAC,KAAgC,EAAE,OAAwB;QAC7E,OAAO,MAAM,CAAC,UAAU,CAAC;YACxB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;YAC7D,GAAG,EAAE,GAAG,EAAE;gBACT,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type Context, Layer } from "effect";
|
|
2
|
+
import type { PgBossInspectionService } from "#server/inspection.ts";
|
|
3
|
+
export declare function inspectionLayer<TIdentifier extends string>(service: Context.Service<TIdentifier, PgBossInspectionService>): Layer.Layer<TIdentifier, never, import("../PgBoss.ts").PgBoss>;
|
|
4
|
+
//# sourceMappingURL=inspectionLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspectionLayer.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/inspectionLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrE,wBAAgB,eAAe,CAAC,WAAW,SAAS,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,uBAAuB,CAAC,kEAEzH"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Layer } from "effect";
|
|
2
|
+
import { inspection } from "./inspection.js";
|
|
3
|
+
import { operationsLayer } from "./operationsLayer.js";
|
|
4
|
+
export function inspectionLayer(service) {
|
|
5
|
+
return Layer.effect(service, inspection()).pipe(Layer.provide(operationsLayer([])));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=inspectionLayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspectionLayer.js","sourceRoot":"","sources":["../../../src/server/adapters/inspectionLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,MAAM,UAAU,eAAe,CAA6B,OAA8D;IACzH,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC"}
|
|
@@ -1,51 +1,6 @@
|
|
|
1
|
-
import { Schema } from "effect";
|
|
2
1
|
import type { PgBossClient } from "#server/client.ts";
|
|
3
2
|
import type { QueueDefinition } from "#server/definition.ts";
|
|
4
3
|
export declare function inspectionReads(client: PgBossClient, schema: string): {
|
|
5
|
-
jobs: <TName extends string, TPayload extends import("#server/definition.ts").JobPayloadSchema | typeof Schema.Null>(queue: {
|
|
6
|
-
readonly name: TName;
|
|
7
|
-
readonly schema: TPayload;
|
|
8
|
-
}, options?: import("#server/client.ts").JobReadOptions) => import("effect/Effect").Effect<{
|
|
9
|
-
expireInSeconds: number;
|
|
10
|
-
groupId?: string | null;
|
|
11
|
-
groupTier?: string | null;
|
|
12
|
-
heartbeatSeconds: number | null;
|
|
13
|
-
id: string;
|
|
14
|
-
name: string;
|
|
15
|
-
retryCount: number;
|
|
16
|
-
signal: AbortSignal;
|
|
17
|
-
blocked: boolean;
|
|
18
|
-
blocking: boolean;
|
|
19
|
-
completedOn: Date | null;
|
|
20
|
-
createdOn: Date;
|
|
21
|
-
deadLetter: string;
|
|
22
|
-
deleteAfterSeconds: number;
|
|
23
|
-
heartbeatOn: Date | null;
|
|
24
|
-
keepUntil: Date;
|
|
25
|
-
output: object | null;
|
|
26
|
-
pendingDependencies: number;
|
|
27
|
-
policy: string;
|
|
28
|
-
priority: number;
|
|
29
|
-
retryBackoff: boolean;
|
|
30
|
-
retryDelay: number;
|
|
31
|
-
retryDelayMax?: number;
|
|
32
|
-
retryLimit: number;
|
|
33
|
-
singletonKey: string | null;
|
|
34
|
-
singletonOn: Date | null;
|
|
35
|
-
sourceCreatedOn: Date | null;
|
|
36
|
-
sourceId: string | null;
|
|
37
|
-
sourceName: string | null;
|
|
38
|
-
sourceOutput: object | null;
|
|
39
|
-
sourceRetryCount: number | null;
|
|
40
|
-
sourceRootId: string | null;
|
|
41
|
-
startAfter: Date;
|
|
42
|
-
startedOn: Date | null;
|
|
43
|
-
state: import("../job.ts").JobState;
|
|
44
|
-
data: TPayload["Type"];
|
|
45
|
-
}[], import("../error.ts").PgBossError | import("../error.ts").PgBossPayloadError, TPayload["DecodingServices"]>;
|
|
46
|
-
storedJobs: (queue: {
|
|
47
|
-
readonly name: string;
|
|
48
|
-
}, options?: import("#server/client.ts").JobReadOptions) => import("effect/Effect").Effect<readonly import("../job.ts").Job<unknown>[], import("../error.ts").PgBossError, never>;
|
|
49
4
|
deferred: (queue: Pick<QueueDefinition, "name">) => import("effect/Effect").Effect<{
|
|
50
5
|
at: import("effect/DateTime").Utc;
|
|
51
6
|
reason: string;
|
|
@@ -54,6 +9,17 @@ export declare function inspectionReads(client: PgBossClient, schema: string): {
|
|
|
54
9
|
queue: (queue: Pick<QueueDefinition, "name">) => import("effect/Effect").Effect<import("#server/client.ts").ClientQueue | null, import("../error.ts").PgBossError, never>;
|
|
55
10
|
schedules: (name?: string, key?: string) => import("effect/Effect").Effect<import("../engineClient.ts").EngineSchedule[], import("../error.ts").PgBossError, never>;
|
|
56
11
|
schemaVersion: () => import("effect/Effect").Effect<number | null, import("../error.ts").PgBossError, never>;
|
|
57
|
-
snapshot:
|
|
12
|
+
snapshot: (queues: readonly {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
}[]) => import("effect/Effect").Effect<readonly {
|
|
15
|
+
readonly data: unknown;
|
|
16
|
+
readonly id: string;
|
|
17
|
+
readonly queue: string;
|
|
18
|
+
readonly startAfter: import("effect/DateTime").Utc;
|
|
19
|
+
readonly state: "active" | "created" | "deferred" | "failed" | "retry";
|
|
20
|
+
}[], import("../error.ts").PgBossError, never>;
|
|
21
|
+
storedJobs: (queue: {
|
|
22
|
+
readonly name: string;
|
|
23
|
+
}, options?: import("#server/client.ts").JobReadOptions) => import("effect/Effect").Effect<readonly import("../job.ts").Job<unknown>[], import("../error.ts").PgBossError, never>;
|
|
58
24
|
};
|
|
59
25
|
//# sourceMappingURL=inspectionReads.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspectionReads.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/inspectionReads.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inspectionReads.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/inspectionReads.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;;;;;mBAWnD,SAAS,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE;mBAYxC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;uBACzB,MAAM,QAAQ,MAAM;;;;;;;;;;;;;;EAiBxC"}
|
|
@@ -24,7 +24,6 @@ export function inspectionReads(client, schema) {
|
|
|
24
24
|
) AS busy`, [queues.map(({ name }) => name)]);
|
|
25
25
|
return Schema.decodeUnknownSync(Busy)(rows[0]).busy;
|
|
26
26
|
}),
|
|
27
|
-
...inspectionJobs(client),
|
|
28
27
|
queue: (queue) => inspectionOperation(() => client.getQueue(queue.name), queue.name),
|
|
29
28
|
schedules: (name, key) => inspectionOperation(() => {
|
|
30
29
|
if (client.getSchedules === undefined) {
|
|
@@ -38,7 +37,8 @@ export function inspectionReads(client, schema) {
|
|
|
38
37
|
}
|
|
39
38
|
return client.schemaVersion();
|
|
40
39
|
}),
|
|
41
|
-
snapshot: inspectionSnapshot(
|
|
40
|
+
snapshot: inspectionSnapshot(client, schema),
|
|
41
|
+
storedJobs: inspectionJobs(client).storedJobs,
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
//# sourceMappingURL=inspectionReads.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspectionReads.js","sourceRoot":"","sources":["../../../src/server/adapters/inspectionReads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAG5E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACrD,MAAM,UAAU,eAAe,CAAC,MAAoB,EAAE,MAAc;IACnE,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,SAAS,KAAK,CAAC,IAAY,EAAE,MAAkB;QAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,OAAO;QACN,GAAG,mBAAmB,CAAC,MAAM,CAAC;QAC9B,IAAI,EAAE,CAAC,MAAgD,EAAE,EAAE,CAC1D,mBAAmB,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAC3B;oBACe,MAAM;4DACkC,MAAM;;aAErD,EACR,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAChC,CAAC;YACF,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrD,CAAC,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"inspectionReads.js","sourceRoot":"","sources":["../../../src/server/adapters/inspectionReads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAG5E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACrD,MAAM,UAAU,eAAe,CAAC,MAAoB,EAAE,MAAc;IACnE,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,SAAS,KAAK,CAAC,IAAY,EAAE,MAAkB;QAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,OAAO;QACN,GAAG,mBAAmB,CAAC,MAAM,CAAC;QAC9B,IAAI,EAAE,CAAC,MAAgD,EAAE,EAAE,CAC1D,mBAAmB,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAC3B;oBACe,MAAM;4DACkC,MAAM;;aAErD,EACR,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAChC,CAAC;YACF,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrD,CAAC,CAAC;QACH,KAAK,EAAE,CAAC,KAAoC,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;QACnH,SAAS,EAAE,CAAC,IAAa,EAAE,GAAY,EAAE,EAAE,CAC1C,mBAAmB,CAAC,GAAG,EAAE;YACxB,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC,CAAC;QACH,aAAa,EAAE,GAAG,EAAE,CACnB,mBAAmB,CAAC,GAAG,EAAE;YACxB,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACxC,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC,CAAC;QACH,QAAQ,EAAE,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;QAC5C,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,UAAU;KAC7C,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { Effect } from "effect";
|
|
2
1
|
import type { PgBossClient } from "#server/client.ts";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
export declare function inspectionSnapshot(client: PgBossClient, schema: string): (queues: readonly {
|
|
3
|
+
readonly name: string;
|
|
4
|
+
}[]) => import("effect/Effect").Effect<readonly {
|
|
5
|
+
readonly data: unknown;
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly queue: string;
|
|
8
|
+
readonly startAfter: import("effect/DateTime").Utc;
|
|
9
|
+
readonly state: "active" | "created" | "deferred" | "failed" | "retry";
|
|
10
|
+
}[], import("../error.ts").PgBossError, never>;
|
|
6
11
|
//# sourceMappingURL=inspectionSnapshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspectionSnapshot.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/inspectionSnapshot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inspectionSnapshot.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/inspectionSnapshot.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAatD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YACtD,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE;;;;;;+CAmBpD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Schema } from "effect";
|
|
2
2
|
import { inspectionOperation } from "#server/adapters/inspectionOperation.ts";
|
|
3
|
-
import {
|
|
3
|
+
import { quotedSchema } from "#server/storedRows.ts";
|
|
4
4
|
const Rows = Schema.Array(Schema.Struct({
|
|
5
5
|
data: Schema.Unknown,
|
|
6
6
|
id: Schema.String,
|
|
@@ -9,29 +9,20 @@ const Rows = Schema.Array(Schema.Struct({
|
|
|
9
9
|
state: Schema.Literals(["created", "retry", "deferred", "active", "failed"]),
|
|
10
10
|
}));
|
|
11
11
|
export function inspectionSnapshot(client, schema) {
|
|
12
|
-
return (queues) => {
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return Schema.decodeUnknownPromise(Rows)(rows);
|
|
28
|
-
}).pipe(Effect.flatMap((rows) => Effect.forEach(rows, ({ data, queue: name, ...row }) => {
|
|
29
|
-
const queue = byName.get(name);
|
|
30
|
-
if (queue === undefined) {
|
|
31
|
-
return Effect.die(new Error(`The snapshot returned a job of an unrequested queue ${name}`));
|
|
32
|
-
}
|
|
33
|
-
return decodeStoredData(queue, data).pipe(Effect.map((decoded) => ({ ...row, data: decoded, queue: queue.name })));
|
|
34
|
-
})));
|
|
35
|
-
};
|
|
12
|
+
return (queues) => inspectionOperation(async () => {
|
|
13
|
+
const quoted = quotedSchema(schema);
|
|
14
|
+
const db = client.getDb?.();
|
|
15
|
+
if (db === undefined) {
|
|
16
|
+
throw new TypeError("This pg-boss client does not support getDb");
|
|
17
|
+
}
|
|
18
|
+
const { rows } = await db.executeSql(`SELECT id, name AS queue, data, start_after AS "startAfter",
|
|
19
|
+
CASE WHEN state = 'retry' AND started_on IS NULL AND start_after > ${quoted}.job_now()
|
|
20
|
+
AND output ? 'jobDeferral'
|
|
21
|
+
THEN 'deferred' ELSE state::text END AS state
|
|
22
|
+
FROM ${quoted}.job
|
|
23
|
+
WHERE name = ANY($1::text[]) AND state IN ('created', 'retry', 'active', 'failed')
|
|
24
|
+
ORDER BY created_on, id`, [queues.map(({ name }) => name)]);
|
|
25
|
+
return Schema.decodeUnknownPromise(Rows)(rows);
|
|
26
|
+
});
|
|
36
27
|
}
|
|
37
28
|
//# sourceMappingURL=inspectionSnapshot.js.map
|