JLupin disk queue implementation
IMPORTANT: All instances of queue microservice must share same disk space for storage (shared disk is required).
To use disk queue implementation configure your queues.yml configuration file with storage class name as shown below:
[...]
storageClassName: 'com.jlupin.impl.microservice.partofjlupin.asynchronous.storage.queue.impl.disk.JLupinDiskQueueStorageImpl'
[...]
Remember to set up your storage configuration in storage.yml file:
STORAGE:
#absoluteRootPath: 'c:\\storage'
maxTasksAmountInSingleDirectory: 100
howOftenCheckingSubdirectoryInMillis: 5000
howOftenGenerateHealthCheckFileInMillis: 10000
takeControlOfAnotherQueueInMillis: 60000
howLongWaitToTakeControlOfOwnStorage: 60000
howOftenCheckAnotherHealthCheckFileInMillis: 10000
maxTimeToHoldNonUseDirectoriesInMilliseconds: 86400000
Description:
| Parameter | Description |
|---|---|
#absoluteRootPath |
Path to root location for storing queues. By default it is platform/storage directory. |
maxTasksAmountInSingleDirectory |
Maximum amount of tasks stored in a single directory. |
howOftenCheckingSubdirectoryInMillis |
Time period (expressed in milliseconds) at which subdirectories will be checked for new tasks and switched. |
howOftenGenerateHealthCheckFileInMillis |
Time period (expressed in milliseconds) at which queue will update it's healt check status. |
takeControlOfAnotherQueueInMillis |
Minimum time (expressed in milliseconds) required to pass before taking controler over another queue which is not alive. |
howLongWaitToTakeControlOfOwnStorage |
Time period (expressed in milliseconds) which queue will wait after setting it is alive before it will start processing it's own tasks. |
howOftenCheckAnotherHealthCheckFileInMillis |
Time period (expressed in milliseconds) at which queue will check if other queues are alive. |
maxTimeToHoldNonUseDirectoriesInMilliseconds |
Maximum alive time (expressed in milliseconds) for unused directories. |