Class StaleCronJobUnlocker

    • Field Detail

      • PROPERTY_CRONJOB_UNLOCKER_ACTIVE

        public static final java.lang.String PROPERTY_CRONJOB_UNLOCKER_ACTIVE
        See Also:
        Constant Field Values
      • PROPERTY_CRONJOB_UNLOCKER_INTERVAL

        public static final java.lang.String PROPERTY_CRONJOB_UNLOCKER_INTERVAL
        See Also:
        Constant Field Values
      • PROPERTY_CRONJOB_STALE_NODE_INTERVAL

        public static final java.lang.String PROPERTY_CRONJOB_STALE_NODE_INTERVAL
        See Also:
        Constant Field Values
      • PROPERTY_CRONJOB_STALE_NODE_CUTOFF_INTERVAL

        public static final java.lang.String PROPERTY_CRONJOB_STALE_NODE_CUTOFF_INTERVAL
        See Also:
        Constant Field Values
      • PROPERTY_CRONJOB_UNLOCK_LIMIT

        public static final java.lang.String PROPERTY_CRONJOB_UNLOCK_LIMIT
        See Also:
        Constant Field Values
    • Constructor Detail

      • StaleCronJobUnlocker

        public StaleCronJobUnlocker​(Tenant tenant)
      • StaleCronJobUnlocker

        public StaleCronJobUnlocker​(java.lang.String threadName,
                                    Tenant tenant)
    • Method Detail

      • shouldUnlockStaleCronJobs

        protected boolean shouldUnlockStaleCronJobs()
      • getCheckIntervalMs

        protected java.time.Duration getCheckIntervalMs()
      • unlockCronJobsFromLocalInstance

        protected void unlockCronJobsFromLocalInstance()
      • getAllNodes

        protected java.util.Collection<ClusterNodeInfo> getAllNodes()
      • getNodeIds

        protected java.util.List<java.lang.Integer> getNodeIds​(java.util.Collection<ClusterNodeInfo> nodes)
      • getStaleNodeThresholdInterval

        protected java.time.Duration getStaleNodeThresholdInterval()
      • unlockCronJobsForNodeIds

        @Deprecated(since="2011",
                    forRemoval=true)
        protected void unlockCronJobsForNodeIds​(java.util.List<java.lang.Integer> staleNodes)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • unlockCronJobsForNodeIds

        protected void unlockCronJobsForNodeIds​(java.util.Collection<java.lang.Integer> staleNodes,
                                                java.util.Collection<java.lang.Integer> allNodes)
      • getStaleNodeIds

        protected java.util.List<java.lang.Integer> getStaleNodeIds​(java.util.Collection<ClusterNodeInfo> allNodes,
                                                                    java.util.function.Predicate<ClusterNodeInfo> staleNodePredicate)
      • getStaleNodeIds

        @Deprecated(since="2011",
                    forRemoval=true)
        protected java.util.List<java.lang.Integer> getStaleNodeIds​(java.util.function.Predicate<ClusterNodeInfo> staleNodePredicate)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getMaxCronJobsCountToBeUnlocked

        protected int getMaxCronJobsCountToBeUnlocked()
      • getStaleNodeTsThreshold

        protected java.time.Instant getStaleNodeTsThreshold​(java.time.Instant now,
                                                            java.time.Duration staleThreshold)
      • getStaleNodeTsCutoff

        protected java.time.Instant getStaleNodeTsCutoff​(java.time.Instant staleNodeThreshold)
      • getStaleNodePredicate

        protected java.util.function.Predicate<ClusterNodeInfo> getStaleNodePredicate​(java.time.Instant staleNodePingTsThreshold,
                                                                                      java.time.Instant staleNodePingTsCutoff)
      • stopUpdatingAndFinish

        public void stopUpdatingAndFinish​(long timeoutMillis)