PDL offers several options for more reliable processing of notifications and products, but these are not enabled by default and require user configuration.
It is recommended that users configure a listenerIndex, maxTries, and retryDelay, for each listener to ensure it reliably receives and processes notifications of new products.
Note: while this is effective in reprocessing notifications that failed the first time, it requires a process restart
At process start, when a listener has a listenerIndex configured, each notification receiver will requeue all notifications it has received for processing by the listener. When processing a notification, the listener then checks whether it has already processed the product, effectively requeuing any products that may have failed to process on the first attempt.
maxTries and retryDelay settings control how a listener handles notifications that fail to process on the first attempt; and ensure a notification is processed without requiring a process restart.
The lines in bold below show an example of how these properties can be added to a listener. In general, any type of listener can configure these properties.
[LISTENERNAME] type = gov.usgs.earthquake.distribution.ExternalNotificationListener command = /bin/echo includeTypes = origin listenerIndexFile = data/LISTENERNAME_listener.db maxTries = 3 retryDelay = 300000