@orchestr-sh/orchestr 1.7.4 → 1.9.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/README.md +666 -0
- package/dist/Cache/CacheManager.d.ts +109 -0
- package/dist/Cache/CacheManager.d.ts.map +1 -0
- package/dist/Cache/CacheManager.js +181 -0
- package/dist/Cache/CacheManager.js.map +1 -0
- package/dist/Cache/CacheServiceProvider.d.ts +19 -0
- package/dist/Cache/CacheServiceProvider.d.ts.map +1 -0
- package/dist/Cache/CacheServiceProvider.js +71 -0
- package/dist/Cache/CacheServiceProvider.js.map +1 -0
- package/dist/Cache/Contracts/Lock.d.ts +31 -0
- package/dist/Cache/Contracts/Lock.d.ts.map +1 -0
- package/dist/Cache/Contracts/Lock.js +3 -0
- package/dist/Cache/Contracts/Lock.js.map +1 -0
- package/dist/Cache/Contracts/Repository.d.ts +59 -0
- package/dist/Cache/Contracts/Repository.d.ts.map +1 -0
- package/dist/Cache/Contracts/Repository.js +9 -0
- package/dist/Cache/Contracts/Repository.js.map +1 -0
- package/dist/Cache/Contracts/Store.d.ts +51 -0
- package/dist/Cache/Contracts/Store.d.ts.map +1 -0
- package/dist/Cache/Contracts/Store.js +3 -0
- package/dist/Cache/Contracts/Store.js.map +1 -0
- package/dist/Cache/Events/CacheFlushed.d.ts +11 -0
- package/dist/Cache/Events/CacheFlushed.d.ts.map +1 -0
- package/dist/Cache/Events/CacheFlushed.js +18 -0
- package/dist/Cache/Events/CacheFlushed.js.map +1 -0
- package/dist/Cache/Events/CacheHit.d.ts +13 -0
- package/dist/Cache/Events/CacheHit.d.ts.map +1 -0
- package/dist/Cache/Events/CacheHit.js +22 -0
- package/dist/Cache/Events/CacheHit.js.map +1 -0
- package/dist/Cache/Events/CacheMissed.d.ts +12 -0
- package/dist/Cache/Events/CacheMissed.d.ts.map +1 -0
- package/dist/Cache/Events/CacheMissed.js +20 -0
- package/dist/Cache/Events/CacheMissed.js.map +1 -0
- package/dist/Cache/Events/KeyForgotten.d.ts +12 -0
- package/dist/Cache/Events/KeyForgotten.d.ts.map +1 -0
- package/dist/Cache/Events/KeyForgotten.js +20 -0
- package/dist/Cache/Events/KeyForgotten.js.map +1 -0
- package/dist/Cache/Events/KeyWritten.d.ts +14 -0
- package/dist/Cache/Events/KeyWritten.d.ts.map +1 -0
- package/dist/Cache/Events/KeyWritten.js +24 -0
- package/dist/Cache/Events/KeyWritten.js.map +1 -0
- package/dist/Cache/Events/index.d.ts +6 -0
- package/dist/Cache/Events/index.d.ts.map +1 -0
- package/dist/Cache/Events/index.js +14 -0
- package/dist/Cache/Events/index.js.map +1 -0
- package/dist/Cache/Locks/CacheLock.d.ts +19 -0
- package/dist/Cache/Locks/CacheLock.d.ts.map +1 -0
- package/dist/Cache/Locks/CacheLock.js +49 -0
- package/dist/Cache/Locks/CacheLock.js.map +1 -0
- package/dist/Cache/Locks/Lock.d.ts +51 -0
- package/dist/Cache/Locks/Lock.d.ts.map +1 -0
- package/dist/Cache/Locks/Lock.js +83 -0
- package/dist/Cache/Locks/Lock.js.map +1 -0
- package/dist/Cache/Locks/LockTimeoutException.d.ts +9 -0
- package/dist/Cache/Locks/LockTimeoutException.d.ts.map +1 -0
- package/dist/Cache/Locks/LockTimeoutException.js +16 -0
- package/dist/Cache/Locks/LockTimeoutException.js.map +1 -0
- package/dist/Cache/Locks/index.d.ts +4 -0
- package/dist/Cache/Locks/index.d.ts.map +1 -0
- package/dist/Cache/Locks/index.js +10 -0
- package/dist/Cache/Locks/index.js.map +1 -0
- package/dist/Cache/Repository.d.ts +61 -0
- package/dist/Cache/Repository.d.ts.map +1 -0
- package/dist/Cache/Repository.js +207 -0
- package/dist/Cache/Repository.js.map +1 -0
- package/dist/Cache/Stores/ArrayStore.d.ts +44 -0
- package/dist/Cache/Stores/ArrayStore.d.ts.map +1 -0
- package/dist/Cache/Stores/ArrayStore.js +118 -0
- package/dist/Cache/Stores/ArrayStore.js.map +1 -0
- package/dist/Cache/Stores/DatabaseStore.d.ts +44 -0
- package/dist/Cache/Stores/DatabaseStore.d.ts.map +1 -0
- package/dist/Cache/Stores/DatabaseStore.js +165 -0
- package/dist/Cache/Stores/DatabaseStore.js.map +1 -0
- package/dist/Cache/Stores/FileStore.d.ts +50 -0
- package/dist/Cache/Stores/FileStore.d.ts.map +1 -0
- package/dist/Cache/Stores/FileStore.js +194 -0
- package/dist/Cache/Stores/FileStore.js.map +1 -0
- package/dist/Cache/Stores/NullStore.d.ts +22 -0
- package/dist/Cache/Stores/NullStore.d.ts.map +1 -0
- package/dist/Cache/Stores/NullStore.js +49 -0
- package/dist/Cache/Stores/NullStore.js.map +1 -0
- package/dist/Cache/Stores/index.d.ts +5 -0
- package/dist/Cache/Stores/index.d.ts.map +1 -0
- package/dist/Cache/Stores/index.js +12 -0
- package/dist/Cache/Stores/index.js.map +1 -0
- package/dist/Cache/Tags/TagSet.d.ts +39 -0
- package/dist/Cache/Tags/TagSet.d.ts.map +1 -0
- package/dist/Cache/Tags/TagSet.js +72 -0
- package/dist/Cache/Tags/TagSet.js.map +1 -0
- package/dist/Cache/Tags/TaggedCache.d.ts +54 -0
- package/dist/Cache/Tags/TaggedCache.d.ts.map +1 -0
- package/dist/Cache/Tags/TaggedCache.js +125 -0
- package/dist/Cache/Tags/TaggedCache.js.map +1 -0
- package/dist/Cache/Tags/index.d.ts +3 -0
- package/dist/Cache/Tags/index.d.ts.map +1 -0
- package/dist/Cache/Tags/index.js +8 -0
- package/dist/Cache/Tags/index.js.map +1 -0
- package/dist/Cache/index.d.ts +27 -0
- package/dist/Cache/index.d.ts.map +1 -0
- package/dist/Cache/index.js +48 -0
- package/dist/Cache/index.js.map +1 -0
- package/dist/Console/Commands/CacheClearCommand.d.ts +16 -0
- package/dist/Console/Commands/CacheClearCommand.d.ts.map +1 -0
- package/dist/Console/Commands/CacheClearCommand.js +33 -0
- package/dist/Console/Commands/CacheClearCommand.js.map +1 -0
- package/dist/Console/Commands/CacheForgetCommand.d.ts +16 -0
- package/dist/Console/Commands/CacheForgetCommand.d.ts.map +1 -0
- package/dist/Console/Commands/CacheForgetCommand.js +39 -0
- package/dist/Console/Commands/CacheForgetCommand.js.map +1 -0
- package/dist/Console/Commands/CacheTableCommand.d.ts +17 -0
- package/dist/Console/Commands/CacheTableCommand.d.ts.map +1 -0
- package/dist/Console/Commands/CacheTableCommand.js +92 -0
- package/dist/Console/Commands/CacheTableCommand.js.map +1 -0
- package/dist/Console/Commands/MakeJobCommand.d.ts +20 -0
- package/dist/Console/Commands/MakeJobCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MakeJobCommand.js +165 -0
- package/dist/Console/Commands/MakeJobCommand.js.map +1 -0
- package/dist/Console/Commands/QueueBatchesTableCommand.d.ts +17 -0
- package/dist/Console/Commands/QueueBatchesTableCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueBatchesTableCommand.js +92 -0
- package/dist/Console/Commands/QueueBatchesTableCommand.js.map +1 -0
- package/dist/Console/Commands/QueueClearCommand.d.ts +16 -0
- package/dist/Console/Commands/QueueClearCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueClearCommand.js +29 -0
- package/dist/Console/Commands/QueueClearCommand.js.map +1 -0
- package/dist/Console/Commands/QueueFailedCommand.d.ts +18 -0
- package/dist/Console/Commands/QueueFailedCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueFailedCommand.js +76 -0
- package/dist/Console/Commands/QueueFailedCommand.js.map +1 -0
- package/dist/Console/Commands/QueueFailedTableCommand.d.ts +17 -0
- package/dist/Console/Commands/QueueFailedTableCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueFailedTableCommand.js +89 -0
- package/dist/Console/Commands/QueueFailedTableCommand.js.map +1 -0
- package/dist/Console/Commands/QueueFlushCommand.d.ts +18 -0
- package/dist/Console/Commands/QueueFlushCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueFlushCommand.js +44 -0
- package/dist/Console/Commands/QueueFlushCommand.js.map +1 -0
- package/dist/Console/Commands/QueueForgetCommand.d.ts +18 -0
- package/dist/Console/Commands/QueueForgetCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueForgetCommand.js +48 -0
- package/dist/Console/Commands/QueueForgetCommand.js.map +1 -0
- package/dist/Console/Commands/QueueMonitorCommand.d.ts +16 -0
- package/dist/Console/Commands/QueueMonitorCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueMonitorCommand.js +42 -0
- package/dist/Console/Commands/QueueMonitorCommand.js.map +1 -0
- package/dist/Console/Commands/QueuePruneBatchesCommand.d.ts +16 -0
- package/dist/Console/Commands/QueuePruneBatchesCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueuePruneBatchesCommand.js +44 -0
- package/dist/Console/Commands/QueuePruneBatchesCommand.js.map +1 -0
- package/dist/Console/Commands/QueuePruneFailedCommand.d.ts +18 -0
- package/dist/Console/Commands/QueuePruneFailedCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueuePruneFailedCommand.js +39 -0
- package/dist/Console/Commands/QueuePruneFailedCommand.js.map +1 -0
- package/dist/Console/Commands/QueueRestartCommand.d.ts +16 -0
- package/dist/Console/Commands/QueueRestartCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueRestartCommand.js +34 -0
- package/dist/Console/Commands/QueueRestartCommand.js.map +1 -0
- package/dist/Console/Commands/QueueRetryCommand.d.ts +20 -0
- package/dist/Console/Commands/QueueRetryCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueRetryCommand.js +77 -0
- package/dist/Console/Commands/QueueRetryCommand.js.map +1 -0
- package/dist/Console/Commands/QueueTableCommand.d.ts +17 -0
- package/dist/Console/Commands/QueueTableCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueTableCommand.js +89 -0
- package/dist/Console/Commands/QueueTableCommand.js.map +1 -0
- package/dist/Console/Commands/QueueWorkCommand.d.ts +16 -0
- package/dist/Console/Commands/QueueWorkCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueWorkCommand.js +51 -0
- package/dist/Console/Commands/QueueWorkCommand.js.map +1 -0
- package/dist/Facades/Bus.d.ts +62 -0
- package/dist/Facades/Bus.d.ts.map +1 -0
- package/dist/Facades/Bus.js +102 -0
- package/dist/Facades/Bus.js.map +1 -0
- package/dist/Facades/Cache.d.ts +41 -0
- package/dist/Facades/Cache.d.ts.map +1 -0
- package/dist/Facades/Cache.js +78 -0
- package/dist/Facades/Cache.js.map +1 -0
- package/dist/Facades/Queue.d.ts +42 -0
- package/dist/Facades/Queue.d.ts.map +1 -0
- package/dist/Facades/Queue.js +71 -0
- package/dist/Facades/Queue.js.map +1 -0
- package/dist/Facades/index.d.ts +3 -0
- package/dist/Facades/index.d.ts.map +1 -1
- package/dist/Facades/index.js +7 -1
- package/dist/Facades/index.js.map +1 -1
- package/dist/Queue/Batching/Batch.d.ts +86 -0
- package/dist/Queue/Batching/Batch.d.ts.map +1 -0
- package/dist/Queue/Batching/Batch.js +170 -0
- package/dist/Queue/Batching/Batch.js.map +1 -0
- package/dist/Queue/Batching/PendingBatch.d.ts +72 -0
- package/dist/Queue/Batching/PendingBatch.d.ts.map +1 -0
- package/dist/Queue/Batching/PendingBatch.js +122 -0
- package/dist/Queue/Batching/PendingBatch.js.map +1 -0
- package/dist/Queue/Batching/index.d.ts +3 -0
- package/dist/Queue/Batching/index.d.ts.map +1 -0
- package/dist/Queue/Batching/index.js +8 -0
- package/dist/Queue/Batching/index.js.map +1 -0
- package/dist/Queue/Concerns/Dispatchable.d.ts +36 -0
- package/dist/Queue/Concerns/Dispatchable.d.ts.map +1 -0
- package/dist/Queue/Concerns/Dispatchable.js +102 -0
- package/dist/Queue/Concerns/Dispatchable.js.map +1 -0
- package/dist/Queue/Contracts/QueueDriver.d.ts +67 -0
- package/dist/Queue/Contracts/QueueDriver.d.ts.map +1 -0
- package/dist/Queue/Contracts/QueueDriver.js +9 -0
- package/dist/Queue/Contracts/QueueDriver.js.map +1 -0
- package/dist/Queue/Contracts/QueueableJob.d.ts +74 -0
- package/dist/Queue/Contracts/QueueableJob.d.ts.map +1 -0
- package/dist/Queue/Contracts/QueueableJob.js +9 -0
- package/dist/Queue/Contracts/QueueableJob.js.map +1 -0
- package/dist/Queue/Contracts/ShouldBeUnique.d.ts +43 -0
- package/dist/Queue/Contracts/ShouldBeUnique.d.ts.map +1 -0
- package/dist/Queue/Contracts/ShouldBeUnique.js +12 -0
- package/dist/Queue/Contracts/ShouldBeUnique.js.map +1 -0
- package/dist/Queue/Drivers/DatabaseDriver.d.ts +39 -0
- package/dist/Queue/Drivers/DatabaseDriver.d.ts.map +1 -0
- package/dist/Queue/Drivers/DatabaseDriver.js +176 -0
- package/dist/Queue/Drivers/DatabaseDriver.js.map +1 -0
- package/dist/Queue/Drivers/NullDriver.d.ts +30 -0
- package/dist/Queue/Drivers/NullDriver.d.ts.map +1 -0
- package/dist/Queue/Drivers/NullDriver.js +57 -0
- package/dist/Queue/Drivers/NullDriver.js.map +1 -0
- package/dist/Queue/Drivers/SyncDriver.d.ts +29 -0
- package/dist/Queue/Drivers/SyncDriver.d.ts.map +1 -0
- package/dist/Queue/Drivers/SyncDriver.js +67 -0
- package/dist/Queue/Drivers/SyncDriver.js.map +1 -0
- package/dist/Queue/Drivers/index.d.ts +4 -0
- package/dist/Queue/Drivers/index.d.ts.map +1 -0
- package/dist/Queue/Drivers/index.js +10 -0
- package/dist/Queue/Drivers/index.js.map +1 -0
- package/dist/Queue/Events/JobExceptionOccurred.d.ts +13 -0
- package/dist/Queue/Events/JobExceptionOccurred.d.ts.map +1 -0
- package/dist/Queue/Events/JobExceptionOccurred.js +20 -0
- package/dist/Queue/Events/JobExceptionOccurred.js.map +1 -0
- package/dist/Queue/Events/JobFailed.d.ts +13 -0
- package/dist/Queue/Events/JobFailed.d.ts.map +1 -0
- package/dist/Queue/Events/JobFailed.js +20 -0
- package/dist/Queue/Events/JobFailed.js.map +1 -0
- package/dist/Queue/Events/JobProcessed.d.ts +12 -0
- package/dist/Queue/Events/JobProcessed.d.ts.map +1 -0
- package/dist/Queue/Events/JobProcessed.js +18 -0
- package/dist/Queue/Events/JobProcessed.js.map +1 -0
- package/dist/Queue/Events/JobProcessing.d.ts +12 -0
- package/dist/Queue/Events/JobProcessing.d.ts.map +1 -0
- package/dist/Queue/Events/JobProcessing.js +18 -0
- package/dist/Queue/Events/JobProcessing.js.map +1 -0
- package/dist/Queue/Events/JobQueued.d.ts +14 -0
- package/dist/Queue/Events/JobQueued.d.ts.map +1 -0
- package/dist/Queue/Events/JobQueued.js +22 -0
- package/dist/Queue/Events/JobQueued.js.map +1 -0
- package/dist/Queue/Events/JobRetryRequested.d.ts +12 -0
- package/dist/Queue/Events/JobRetryRequested.d.ts.map +1 -0
- package/dist/Queue/Events/JobRetryRequested.js +20 -0
- package/dist/Queue/Events/JobRetryRequested.js.map +1 -0
- package/dist/Queue/Events/WorkerStopping.d.ts +11 -0
- package/dist/Queue/Events/WorkerStopping.d.ts.map +1 -0
- package/dist/Queue/Events/WorkerStopping.js +18 -0
- package/dist/Queue/Events/WorkerStopping.js.map +1 -0
- package/dist/Queue/Events/index.d.ts +8 -0
- package/dist/Queue/Events/index.d.ts.map +1 -0
- package/dist/Queue/Events/index.js +18 -0
- package/dist/Queue/Events/index.js.map +1 -0
- package/dist/Queue/Failed/DatabaseFailedJobProvider.d.ts +33 -0
- package/dist/Queue/Failed/DatabaseFailedJobProvider.d.ts.map +1 -0
- package/dist/Queue/Failed/DatabaseFailedJobProvider.js +100 -0
- package/dist/Queue/Failed/DatabaseFailedJobProvider.js.map +1 -0
- package/dist/Queue/Failed/FailedJobProvider.d.ts +42 -0
- package/dist/Queue/Failed/FailedJobProvider.d.ts.map +1 -0
- package/dist/Queue/Failed/FailedJobProvider.js +9 -0
- package/dist/Queue/Failed/FailedJobProvider.js.map +1 -0
- package/dist/Queue/Job.d.ts +194 -0
- package/dist/Queue/Job.d.ts.map +1 -0
- package/dist/Queue/Job.js +286 -0
- package/dist/Queue/Job.js.map +1 -0
- package/dist/Queue/JobPayload.d.ts +37 -0
- package/dist/Queue/JobPayload.d.ts.map +1 -0
- package/dist/Queue/JobPayload.js +46 -0
- package/dist/Queue/JobPayload.js.map +1 -0
- package/dist/Queue/Middleware/JobMiddleware.d.ts +29 -0
- package/dist/Queue/Middleware/JobMiddleware.d.ts.map +1 -0
- package/dist/Queue/Middleware/JobMiddleware.js +21 -0
- package/dist/Queue/Middleware/JobMiddleware.js.map +1 -0
- package/dist/Queue/Middleware/RateLimited.d.ts +56 -0
- package/dist/Queue/Middleware/RateLimited.d.ts.map +1 -0
- package/dist/Queue/Middleware/RateLimited.js +83 -0
- package/dist/Queue/Middleware/RateLimited.js.map +1 -0
- package/dist/Queue/Middleware/ThrottlesExceptions.d.ts +71 -0
- package/dist/Queue/Middleware/ThrottlesExceptions.d.ts.map +1 -0
- package/dist/Queue/Middleware/ThrottlesExceptions.js +119 -0
- package/dist/Queue/Middleware/ThrottlesExceptions.js.map +1 -0
- package/dist/Queue/Middleware/WithoutOverlapping.d.ts +64 -0
- package/dist/Queue/Middleware/WithoutOverlapping.d.ts.map +1 -0
- package/dist/Queue/Middleware/WithoutOverlapping.js +103 -0
- package/dist/Queue/Middleware/WithoutOverlapping.js.map +1 -0
- package/dist/Queue/Middleware/index.d.ts +5 -0
- package/dist/Queue/Middleware/index.d.ts.map +1 -0
- package/dist/Queue/Middleware/index.js +10 -0
- package/dist/Queue/Middleware/index.js.map +1 -0
- package/dist/Queue/PendingChain.d.ts +63 -0
- package/dist/Queue/PendingChain.d.ts.map +1 -0
- package/dist/Queue/PendingChain.js +111 -0
- package/dist/Queue/PendingChain.js.map +1 -0
- package/dist/Queue/PendingDispatch.d.ts +66 -0
- package/dist/Queue/PendingDispatch.d.ts.map +1 -0
- package/dist/Queue/PendingDispatch.js +101 -0
- package/dist/Queue/PendingDispatch.js.map +1 -0
- package/dist/Queue/QueueManager.d.ts +151 -0
- package/dist/Queue/QueueManager.d.ts.map +1 -0
- package/dist/Queue/QueueManager.js +227 -0
- package/dist/Queue/QueueManager.js.map +1 -0
- package/dist/Queue/QueueServiceProvider.d.ts +19 -0
- package/dist/Queue/QueueServiceProvider.d.ts.map +1 -0
- package/dist/Queue/QueueServiceProvider.js +75 -0
- package/dist/Queue/QueueServiceProvider.js.map +1 -0
- package/dist/Queue/Workers/Worker.d.ts +99 -0
- package/dist/Queue/Workers/Worker.d.ts.map +1 -0
- package/dist/Queue/Workers/Worker.js +324 -0
- package/dist/Queue/Workers/Worker.js.map +1 -0
- package/dist/Queue/Workers/WorkerOptions.d.ts +62 -0
- package/dist/Queue/Workers/WorkerOptions.d.ts.map +1 -0
- package/dist/Queue/Workers/WorkerOptions.js +23 -0
- package/dist/Queue/Workers/WorkerOptions.js.map +1 -0
- package/dist/Queue/index.d.ts +41 -0
- package/dist/Queue/index.d.ts.map +1 -0
- package/dist/Queue/index.js +67 -0
- package/dist/Queue/index.js.map +1 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +141 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../src/Facades/Cache.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;;AAEH,8CAA2C;AAI3C,MAAM,gBAAiB,SAAQ,eAAM;IACzB,MAAM,CAAC,iBAAiB;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAEY,QAAA,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,EAAE;IAC/C,GAAG,CAAC,MAAM,EAAE,IAAI;QACd,iEAAiE;QACjE,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,MAAM,KAAK,GAAI,MAAc,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mEAAmE;QACnE,IAAI,CAAC;YACH,MAAM,IAAI,GAAI,MAAc,CAAC,aAAa,EAAkB,CAAC;YAC7D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,8CAA8C;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAgB,CAAC;YACzC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAI,KAAa,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACtD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gCAAgC;QAClC,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAmE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Queue Facade
|
|
3
|
+
*
|
|
4
|
+
* Provides static access to the queue manager for dispatching
|
|
5
|
+
* and managing queued jobs.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // Push a job onto the queue
|
|
10
|
+
* await Queue.push(new ProcessPodcast(podcastId));
|
|
11
|
+
*
|
|
12
|
+
* // Push onto a specific queue
|
|
13
|
+
* await Queue.pushOn('high-priority', new ProcessPodcast(podcastId));
|
|
14
|
+
*
|
|
15
|
+
* // Push with a delay
|
|
16
|
+
* await Queue.later(60, new ProcessPodcast(podcastId));
|
|
17
|
+
*
|
|
18
|
+
* // Get queue size
|
|
19
|
+
* const size = await Queue.size();
|
|
20
|
+
*
|
|
21
|
+
* // Event hooks
|
|
22
|
+
* Queue.before((connectionName, job) => {
|
|
23
|
+
* console.log('Processing:', job.displayName());
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* Queue.after((connectionName, job) => {
|
|
27
|
+
* console.log('Processed:', job.displayName());
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* Queue.failing((connectionName, job, error) => {
|
|
31
|
+
* console.error('Failed:', job.displayName(), error);
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
import { Facade } from '../Support/Facade';
|
|
36
|
+
import type { QueueManager } from '../Queue/QueueManager';
|
|
37
|
+
declare class QueueFacadeClass extends Facade {
|
|
38
|
+
protected static getFacadeAccessor(): string;
|
|
39
|
+
}
|
|
40
|
+
export declare const Queue: typeof QueueFacadeClass & QueueManager;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=Queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Queue.d.ts","sourceRoot":"","sources":["../../src/Facades/Queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,cAAM,gBAAiB,SAAQ,MAAM;IACnC,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM;CAG7C;AAED,eAAO,MAAM,KAAK,EA2BD,OAAO,gBAAgB,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Queue Facade
|
|
4
|
+
*
|
|
5
|
+
* Provides static access to the queue manager for dispatching
|
|
6
|
+
* and managing queued jobs.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // Push a job onto the queue
|
|
11
|
+
* await Queue.push(new ProcessPodcast(podcastId));
|
|
12
|
+
*
|
|
13
|
+
* // Push onto a specific queue
|
|
14
|
+
* await Queue.pushOn('high-priority', new ProcessPodcast(podcastId));
|
|
15
|
+
*
|
|
16
|
+
* // Push with a delay
|
|
17
|
+
* await Queue.later(60, new ProcessPodcast(podcastId));
|
|
18
|
+
*
|
|
19
|
+
* // Get queue size
|
|
20
|
+
* const size = await Queue.size();
|
|
21
|
+
*
|
|
22
|
+
* // Event hooks
|
|
23
|
+
* Queue.before((connectionName, job) => {
|
|
24
|
+
* console.log('Processing:', job.displayName());
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* Queue.after((connectionName, job) => {
|
|
28
|
+
* console.log('Processed:', job.displayName());
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* Queue.failing((connectionName, job, error) => {
|
|
32
|
+
* console.error('Failed:', job.displayName(), error);
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.Queue = void 0;
|
|
38
|
+
const Facade_1 = require("../Support/Facade");
|
|
39
|
+
class QueueFacadeClass extends Facade_1.Facade {
|
|
40
|
+
static getFacadeAccessor() {
|
|
41
|
+
return 'queue';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.Queue = new Proxy(QueueFacadeClass, {
|
|
45
|
+
get(target, prop) {
|
|
46
|
+
// First check if it's a static method on the facade class itself
|
|
47
|
+
if (prop in target) {
|
|
48
|
+
const value = target[prop];
|
|
49
|
+
if (typeof value === 'function') {
|
|
50
|
+
return value.bind(target);
|
|
51
|
+
}
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
// Then try to get from the facade root (the QueueManager instance)
|
|
55
|
+
try {
|
|
56
|
+
const root = target.getFacadeRoot();
|
|
57
|
+
if (root && prop in root) {
|
|
58
|
+
const value = root[prop];
|
|
59
|
+
if (typeof value === 'function') {
|
|
60
|
+
return (...args) => value.apply(root, args);
|
|
61
|
+
}
|
|
62
|
+
return value;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
// Facade root not available yet
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=Queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../src/Facades/Queue.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;;;AAEH,8CAA2C;AAG3C,MAAM,gBAAiB,SAAQ,eAAM;IACzB,MAAM,CAAC,iBAAiB;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAEY,QAAA,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,EAAE;IAC/C,GAAG,CAAC,MAAM,EAAE,IAAI;QACd,iEAAiE;QACjE,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,MAAM,KAAK,GAAI,MAAc,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mEAAmE;QACnE,IAAI,CAAC;YACH,MAAM,IAAI,GAAI,MAAc,CAAC,aAAa,EAAkB,CAAC;YAC7D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gCAAgC;QAClC,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAsD,CAAC"}
|
package/dist/Facades/index.d.ts
CHANGED
|
@@ -7,4 +7,7 @@ export { Config } from './Config';
|
|
|
7
7
|
export { DB } from './DB';
|
|
8
8
|
export { Route } from './Route';
|
|
9
9
|
export { Event, EventFake } from './Event';
|
|
10
|
+
export { Queue } from './Queue';
|
|
11
|
+
export { Bus } from './Bus';
|
|
12
|
+
export { Cache } from './Cache';
|
|
10
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Facades/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Facades/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/Facades/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Export all facades for easy importing
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.EventFake = exports.Event = exports.Route = exports.DB = exports.Config = void 0;
|
|
8
|
+
exports.Cache = exports.Bus = exports.Queue = exports.EventFake = exports.Event = exports.Route = exports.DB = exports.Config = void 0;
|
|
9
9
|
var Config_1 = require("./Config");
|
|
10
10
|
Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return Config_1.Config; } });
|
|
11
11
|
var DB_1 = require("./DB");
|
|
@@ -15,4 +15,10 @@ Object.defineProperty(exports, "Route", { enumerable: true, get: function () { r
|
|
|
15
15
|
var Event_1 = require("./Event");
|
|
16
16
|
Object.defineProperty(exports, "Event", { enumerable: true, get: function () { return Event_1.Event; } });
|
|
17
17
|
Object.defineProperty(exports, "EventFake", { enumerable: true, get: function () { return Event_1.EventFake; } });
|
|
18
|
+
var Queue_1 = require("./Queue");
|
|
19
|
+
Object.defineProperty(exports, "Queue", { enumerable: true, get: function () { return Queue_1.Queue; } });
|
|
20
|
+
var Bus_1 = require("./Bus");
|
|
21
|
+
Object.defineProperty(exports, "Bus", { enumerable: true, get: function () { return Bus_1.Bus; } });
|
|
22
|
+
var Cache_1 = require("./Cache");
|
|
23
|
+
Object.defineProperty(exports, "Cache", { enumerable: true, get: function () { return Cache_1.Cache; } });
|
|
18
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Facades/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,2BAA0B;AAAjB,wFAAA,EAAE,OAAA;AACX,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,iCAA2C;AAAlC,8FAAA,KAAK,OAAA;AAAE,kGAAA,SAAS,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Facades/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,2BAA0B;AAAjB,wFAAA,EAAE,OAAA;AACX,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,iCAA2C;AAAlC,8FAAA,KAAK,OAAA;AAAE,kGAAA,SAAS,OAAA;AACzB,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,iCAAgC;AAAvB,8FAAA,KAAK,OAAA"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Batch
|
|
3
|
+
*
|
|
4
|
+
* Represents a batch of jobs being processed.
|
|
5
|
+
* Tracks progress and fires callbacks on completion/failure.
|
|
6
|
+
*
|
|
7
|
+
* Mirrors Laravel's Illuminate\Bus\Batch.
|
|
8
|
+
*/
|
|
9
|
+
import type { QueueManager } from '../QueueManager';
|
|
10
|
+
export interface BatchOptions {
|
|
11
|
+
thenCallbacks: Array<(batch: Batch) => void | Promise<void>>;
|
|
12
|
+
catchCallbacks: Array<(batch: Batch, error: Error) => void | Promise<void>>;
|
|
13
|
+
finallyCallbacks: Array<(batch: Batch) => void | Promise<void>>;
|
|
14
|
+
allowFailures: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare class Batch {
|
|
17
|
+
protected manager: QueueManager;
|
|
18
|
+
readonly name: string;
|
|
19
|
+
readonly id: string;
|
|
20
|
+
readonly createdAt: Date;
|
|
21
|
+
protected _totalJobs: number;
|
|
22
|
+
protected _pendingJobs: number;
|
|
23
|
+
protected _failedJobs: number;
|
|
24
|
+
protected _failedJobIds: string[];
|
|
25
|
+
protected _cancelled: boolean;
|
|
26
|
+
protected _finishedAt: Date | null;
|
|
27
|
+
protected _options: BatchOptions;
|
|
28
|
+
constructor(manager: QueueManager, name: string, totalJobs: number, options: BatchOptions);
|
|
29
|
+
/**
|
|
30
|
+
* Get the total number of jobs in the batch
|
|
31
|
+
*/
|
|
32
|
+
get totalJobs(): number;
|
|
33
|
+
/**
|
|
34
|
+
* Get the number of pending jobs
|
|
35
|
+
*/
|
|
36
|
+
get pendingJobs(): number;
|
|
37
|
+
/**
|
|
38
|
+
* Get the number of failed jobs
|
|
39
|
+
*/
|
|
40
|
+
get failedJobs(): number;
|
|
41
|
+
/**
|
|
42
|
+
* Get the number of processed jobs
|
|
43
|
+
*/
|
|
44
|
+
get processedJobs(): number;
|
|
45
|
+
/**
|
|
46
|
+
* Get the batch progress percentage (0-100)
|
|
47
|
+
*/
|
|
48
|
+
progress(): number;
|
|
49
|
+
/**
|
|
50
|
+
* Whether the batch has finished
|
|
51
|
+
*/
|
|
52
|
+
finished(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Whether the batch has been cancelled
|
|
55
|
+
*/
|
|
56
|
+
cancelled(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Record a successful job completion
|
|
59
|
+
*/
|
|
60
|
+
recordSuccessfulJob(jobId: string): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Record a failed job
|
|
63
|
+
*/
|
|
64
|
+
recordFailedJob(jobId: string, error: Error): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Cancel the batch
|
|
67
|
+
*/
|
|
68
|
+
cancel(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Fire the then callbacks
|
|
71
|
+
*/
|
|
72
|
+
protected fireThenCallbacks(): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Fire the catch callbacks
|
|
75
|
+
*/
|
|
76
|
+
protected fireCatchCallbacks(error: Error): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Fire the finally callbacks
|
|
79
|
+
*/
|
|
80
|
+
protected fireFinallyCallbacks(): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Convert to a plain object for inspection
|
|
83
|
+
*/
|
|
84
|
+
toJSON(): Record<string, any>;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=Batch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Batch.d.ts","sourceRoot":"","sources":["../../../src/Queue/Batching/Batch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,cAAc,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,gBAAgB,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,KAAK;IAad,SAAS,CAAC,OAAO,EAAE,YAAY;aACf,IAAI,EAAE,MAAM;IAb9B,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,SAAS,EAAE,IAAI,CAAC;IAEhC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAK;IAClC,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,CAAM;IACvC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IACtC,SAAS,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAQ;IAC1C,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAGrB,OAAO,EAAE,YAAY,EACf,IAAI,EAAE,MAAM,EAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY;IASvB;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM;IAKlB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvD;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjE;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;OAEG;cACa,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUlD;;OAEG;cACa,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/D;;OAEG;cACa,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrD;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAc9B"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Batch
|
|
4
|
+
*
|
|
5
|
+
* Represents a batch of jobs being processed.
|
|
6
|
+
* Tracks progress and fires callbacks on completion/failure.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors Laravel's Illuminate\Bus\Batch.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.Batch = void 0;
|
|
12
|
+
const crypto_1 = require("crypto");
|
|
13
|
+
class Batch {
|
|
14
|
+
manager;
|
|
15
|
+
name;
|
|
16
|
+
id;
|
|
17
|
+
createdAt;
|
|
18
|
+
_totalJobs;
|
|
19
|
+
_pendingJobs;
|
|
20
|
+
_failedJobs = 0;
|
|
21
|
+
_failedJobIds = [];
|
|
22
|
+
_cancelled = false;
|
|
23
|
+
_finishedAt = null;
|
|
24
|
+
_options;
|
|
25
|
+
constructor(manager, name, totalJobs, options) {
|
|
26
|
+
this.manager = manager;
|
|
27
|
+
this.name = name;
|
|
28
|
+
this.id = (0, crypto_1.randomUUID)();
|
|
29
|
+
this.createdAt = new Date();
|
|
30
|
+
this._totalJobs = totalJobs;
|
|
31
|
+
this._pendingJobs = totalJobs;
|
|
32
|
+
this._options = options;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get the total number of jobs in the batch
|
|
36
|
+
*/
|
|
37
|
+
get totalJobs() {
|
|
38
|
+
return this._totalJobs;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get the number of pending jobs
|
|
42
|
+
*/
|
|
43
|
+
get pendingJobs() {
|
|
44
|
+
return this._pendingJobs;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get the number of failed jobs
|
|
48
|
+
*/
|
|
49
|
+
get failedJobs() {
|
|
50
|
+
return this._failedJobs;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get the number of processed jobs
|
|
54
|
+
*/
|
|
55
|
+
get processedJobs() {
|
|
56
|
+
return this._totalJobs - this._pendingJobs;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get the batch progress percentage (0-100)
|
|
60
|
+
*/
|
|
61
|
+
progress() {
|
|
62
|
+
if (this._totalJobs === 0)
|
|
63
|
+
return 100;
|
|
64
|
+
return Math.round((this.processedJobs / this._totalJobs) * 100);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Whether the batch has finished
|
|
68
|
+
*/
|
|
69
|
+
finished() {
|
|
70
|
+
return this._pendingJobs === 0;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Whether the batch has been cancelled
|
|
74
|
+
*/
|
|
75
|
+
cancelled() {
|
|
76
|
+
return this._cancelled;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Record a successful job completion
|
|
80
|
+
*/
|
|
81
|
+
async recordSuccessfulJob(jobId) {
|
|
82
|
+
this._pendingJobs = Math.max(0, this._pendingJobs - 1);
|
|
83
|
+
if (this.finished()) {
|
|
84
|
+
await this.fireThenCallbacks();
|
|
85
|
+
await this.fireFinallyCallbacks();
|
|
86
|
+
this._finishedAt = new Date();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Record a failed job
|
|
91
|
+
*/
|
|
92
|
+
async recordFailedJob(jobId, error) {
|
|
93
|
+
this._failedJobs++;
|
|
94
|
+
this._failedJobIds.push(jobId);
|
|
95
|
+
this._pendingJobs = Math.max(0, this._pendingJobs - 1);
|
|
96
|
+
// Fire catch callbacks
|
|
97
|
+
await this.fireCatchCallbacks(error);
|
|
98
|
+
if (!this._options.allowFailures) {
|
|
99
|
+
this.cancel();
|
|
100
|
+
}
|
|
101
|
+
if (this.finished()) {
|
|
102
|
+
await this.fireFinallyCallbacks();
|
|
103
|
+
this._finishedAt = new Date();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Cancel the batch
|
|
108
|
+
*/
|
|
109
|
+
cancel() {
|
|
110
|
+
this._cancelled = true;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Fire the then callbacks
|
|
114
|
+
*/
|
|
115
|
+
async fireThenCallbacks() {
|
|
116
|
+
for (const callback of this._options.thenCallbacks) {
|
|
117
|
+
try {
|
|
118
|
+
await callback(this);
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
console.error('[Queue] Error in batch then callback:', error);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Fire the catch callbacks
|
|
127
|
+
*/
|
|
128
|
+
async fireCatchCallbacks(error) {
|
|
129
|
+
for (const callback of this._options.catchCallbacks) {
|
|
130
|
+
try {
|
|
131
|
+
await callback(this, error);
|
|
132
|
+
}
|
|
133
|
+
catch (callbackError) {
|
|
134
|
+
console.error('[Queue] Error in batch catch callback:', callbackError);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Fire the finally callbacks
|
|
140
|
+
*/
|
|
141
|
+
async fireFinallyCallbacks() {
|
|
142
|
+
for (const callback of this._options.finallyCallbacks) {
|
|
143
|
+
try {
|
|
144
|
+
await callback(this);
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
console.error('[Queue] Error in batch finally callback:', error);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Convert to a plain object for inspection
|
|
153
|
+
*/
|
|
154
|
+
toJSON() {
|
|
155
|
+
return {
|
|
156
|
+
id: this.id,
|
|
157
|
+
name: this.name,
|
|
158
|
+
totalJobs: this._totalJobs,
|
|
159
|
+
pendingJobs: this._pendingJobs,
|
|
160
|
+
failedJobs: this._failedJobs,
|
|
161
|
+
processedJobs: this.processedJobs,
|
|
162
|
+
progress: this.progress(),
|
|
163
|
+
cancelled: this._cancelled,
|
|
164
|
+
createdAt: this.createdAt.toISOString(),
|
|
165
|
+
finishedAt: this._finishedAt?.toISOString() || null,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.Batch = Batch;
|
|
170
|
+
//# sourceMappingURL=Batch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Batch.js","sourceRoot":"","sources":["../../../src/Queue/Batching/Batch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PendingBatch
|
|
3
|
+
*
|
|
4
|
+
* Fluent builder for creating a batch of jobs.
|
|
5
|
+
* Jobs in a batch can run concurrently, with callbacks
|
|
6
|
+
* for progress, completion, and failure.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors Laravel's Illuminate\Bus\PendingBatch.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const batch = await Bus.batch([
|
|
13
|
+
* new ImportCSVRow(1),
|
|
14
|
+
* new ImportCSVRow(2),
|
|
15
|
+
* new ImportCSVRow(3),
|
|
16
|
+
* ])
|
|
17
|
+
* .name('Import CSV')
|
|
18
|
+
* .then((batch) => console.log('All done!'))
|
|
19
|
+
* .catch((batch, error) => console.error('Failed:', error))
|
|
20
|
+
* .finally((batch) => console.log('Batch finished'))
|
|
21
|
+
* .onQueue('imports')
|
|
22
|
+
* .dispatch();
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import type { Job } from '../Job';
|
|
26
|
+
import type { Application } from '../../Foundation/Application';
|
|
27
|
+
import { Batch } from './Batch';
|
|
28
|
+
export declare class PendingBatch {
|
|
29
|
+
protected app: Application;
|
|
30
|
+
protected jobs: Job[];
|
|
31
|
+
protected _name: string;
|
|
32
|
+
protected _connection?: string;
|
|
33
|
+
protected _queue?: string;
|
|
34
|
+
protected _thenCallbacks: Array<(batch: Batch) => void | Promise<void>>;
|
|
35
|
+
protected _catchCallbacks: Array<(batch: Batch, error: Error) => void | Promise<void>>;
|
|
36
|
+
protected _finallyCallbacks: Array<(batch: Batch) => void | Promise<void>>;
|
|
37
|
+
protected _allowFailures: boolean;
|
|
38
|
+
constructor(app: Application, jobs: Job[]);
|
|
39
|
+
/**
|
|
40
|
+
* Set the name for the batch
|
|
41
|
+
*/
|
|
42
|
+
name(name: string): this;
|
|
43
|
+
/**
|
|
44
|
+
* Set the connection for all jobs in the batch
|
|
45
|
+
*/
|
|
46
|
+
onConnection(connection: string): this;
|
|
47
|
+
/**
|
|
48
|
+
* Set the queue for all jobs in the batch
|
|
49
|
+
*/
|
|
50
|
+
onQueue(queue: string): this;
|
|
51
|
+
/**
|
|
52
|
+
* Register a callback for when all jobs in the batch complete
|
|
53
|
+
*/
|
|
54
|
+
then(callback: (batch: Batch) => void | Promise<void>): this;
|
|
55
|
+
/**
|
|
56
|
+
* Register a callback for when a job in the batch fails
|
|
57
|
+
*/
|
|
58
|
+
catch(callback: (batch: Batch, error: Error) => void | Promise<void>): this;
|
|
59
|
+
/**
|
|
60
|
+
* Register a callback for when the batch finishes (success or failure)
|
|
61
|
+
*/
|
|
62
|
+
finally(callback: (batch: Batch) => void | Promise<void>): this;
|
|
63
|
+
/**
|
|
64
|
+
* Allow the batch to continue processing even if a job fails
|
|
65
|
+
*/
|
|
66
|
+
allowFailures(allow?: boolean): this;
|
|
67
|
+
/**
|
|
68
|
+
* Dispatch the batch
|
|
69
|
+
*/
|
|
70
|
+
dispatch(): Promise<Batch>;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=PendingBatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PendingBatch.d.ts","sourceRoot":"","sources":["../../../src/Queue/Batching/PendingBatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,YAAY;IAUrB,SAAS,CAAC,GAAG,EAAE,WAAW;IAC1B,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;IAVvB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAM;IAC7B,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM;IAC7E,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM;IAC5F,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM;IAChF,SAAS,CAAC,cAAc,EAAE,OAAO,CAAS;gBAG9B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,GAAG,EAAE;IAGvB;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKtC;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAK5D;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAK3E;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAK/D;;OAEG;IACH,aAAa,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IAK1C;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;CAkCjC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PendingBatch
|
|
4
|
+
*
|
|
5
|
+
* Fluent builder for creating a batch of jobs.
|
|
6
|
+
* Jobs in a batch can run concurrently, with callbacks
|
|
7
|
+
* for progress, completion, and failure.
|
|
8
|
+
*
|
|
9
|
+
* Mirrors Laravel's Illuminate\Bus\PendingBatch.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const batch = await Bus.batch([
|
|
14
|
+
* new ImportCSVRow(1),
|
|
15
|
+
* new ImportCSVRow(2),
|
|
16
|
+
* new ImportCSVRow(3),
|
|
17
|
+
* ])
|
|
18
|
+
* .name('Import CSV')
|
|
19
|
+
* .then((batch) => console.log('All done!'))
|
|
20
|
+
* .catch((batch, error) => console.error('Failed:', error))
|
|
21
|
+
* .finally((batch) => console.log('Batch finished'))
|
|
22
|
+
* .onQueue('imports')
|
|
23
|
+
* .dispatch();
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.PendingBatch = void 0;
|
|
28
|
+
const Batch_1 = require("./Batch");
|
|
29
|
+
class PendingBatch {
|
|
30
|
+
app;
|
|
31
|
+
jobs;
|
|
32
|
+
_name = '';
|
|
33
|
+
_connection;
|
|
34
|
+
_queue;
|
|
35
|
+
_thenCallbacks = [];
|
|
36
|
+
_catchCallbacks = [];
|
|
37
|
+
_finallyCallbacks = [];
|
|
38
|
+
_allowFailures = false;
|
|
39
|
+
constructor(app, jobs) {
|
|
40
|
+
this.app = app;
|
|
41
|
+
this.jobs = jobs;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Set the name for the batch
|
|
45
|
+
*/
|
|
46
|
+
name(name) {
|
|
47
|
+
this._name = name;
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Set the connection for all jobs in the batch
|
|
52
|
+
*/
|
|
53
|
+
onConnection(connection) {
|
|
54
|
+
this._connection = connection;
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Set the queue for all jobs in the batch
|
|
59
|
+
*/
|
|
60
|
+
onQueue(queue) {
|
|
61
|
+
this._queue = queue;
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Register a callback for when all jobs in the batch complete
|
|
66
|
+
*/
|
|
67
|
+
then(callback) {
|
|
68
|
+
this._thenCallbacks.push(callback);
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Register a callback for when a job in the batch fails
|
|
73
|
+
*/
|
|
74
|
+
catch(callback) {
|
|
75
|
+
this._catchCallbacks.push(callback);
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Register a callback for when the batch finishes (success or failure)
|
|
80
|
+
*/
|
|
81
|
+
finally(callback) {
|
|
82
|
+
this._finallyCallbacks.push(callback);
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Allow the batch to continue processing even if a job fails
|
|
87
|
+
*/
|
|
88
|
+
allowFailures(allow = true) {
|
|
89
|
+
this._allowFailures = allow;
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Dispatch the batch
|
|
94
|
+
*/
|
|
95
|
+
async dispatch() {
|
|
96
|
+
const manager = this.app.make('queue');
|
|
97
|
+
// Apply connection/queue to all jobs
|
|
98
|
+
for (const job of this.jobs) {
|
|
99
|
+
if (this._connection) {
|
|
100
|
+
job.connection = this._connection;
|
|
101
|
+
}
|
|
102
|
+
if (this._queue) {
|
|
103
|
+
job.queue = this._queue;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// Create batch instance
|
|
107
|
+
const batch = new Batch_1.Batch(manager, this._name, this.jobs.length, {
|
|
108
|
+
thenCallbacks: this._thenCallbacks,
|
|
109
|
+
catchCallbacks: this._catchCallbacks,
|
|
110
|
+
finallyCallbacks: this._finallyCallbacks,
|
|
111
|
+
allowFailures: this._allowFailures,
|
|
112
|
+
});
|
|
113
|
+
// Dispatch all jobs with batch metadata
|
|
114
|
+
for (const job of this.jobs) {
|
|
115
|
+
job._batchId = batch.id;
|
|
116
|
+
await manager.dispatch(job);
|
|
117
|
+
}
|
|
118
|
+
return batch;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.PendingBatch = PendingBatch;
|
|
122
|
+
//# sourceMappingURL=PendingBatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PendingBatch.js","sourceRoot":"","sources":["../../../src/Queue/Batching/PendingBatch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAKH,mCAAgC;AAEhC,MAAa,YAAY;IAUX;IACA;IAVF,KAAK,GAAW,EAAE,CAAC;IACnB,WAAW,CAAU;IACrB,MAAM,CAAU;IAChB,cAAc,GAAkD,EAAE,CAAC;IACnE,eAAe,GAAgE,EAAE,CAAC;IAClF,iBAAiB,GAAkD,EAAE,CAAC;IACtE,cAAc,GAAY,KAAK,CAAC;IAE1C,YACY,GAAgB,EAChB,IAAW;QADX,QAAG,GAAH,GAAG,CAAa;QAChB,SAAI,GAAJ,IAAI,CAAO;IACpB,CAAC;IAEJ;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,UAAkB;QAC7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,QAAgD;QACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAA8D;QAClE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,QAAgD;QACtD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAiB,IAAI;QACjC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,OAAO,CAAC,CAAC;QAErD,qCAAqC;QACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,KAAK,GAAG,IAAI,aAAK,CACrB,OAAO,EACP,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB;YACE,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;YACxC,aAAa,EAAE,IAAI,CAAC,cAAc;SACnC,CACF,CAAC;QAEF,wCAAwC;QACxC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,GAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA3GD,oCA2GC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Queue/Batching/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PendingBatch = exports.Batch = void 0;
|
|
4
|
+
var Batch_1 = require("./Batch");
|
|
5
|
+
Object.defineProperty(exports, "Batch", { enumerable: true, get: function () { return Batch_1.Batch; } });
|
|
6
|
+
var PendingBatch_1 = require("./PendingBatch");
|
|
7
|
+
Object.defineProperty(exports, "PendingBatch", { enumerable: true, get: function () { return PendingBatch_1.PendingBatch; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Queue/Batching/index.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
|