scheduleAtFixedRate not executing after first run

Viewed 4013

I have a scheduled executor to reset a parameter to 0 and awake all active threads to continue processing. However after initial run of the thread it is not executing again.

ScheduledExecutorService exec = Executors.newScheduledThreadPool(4);
exec.scheduleAtFixedRate(new Runnable() {
        @Override
        public void run() {
            logger.info("Setting hourly limit record count back to 0 to continue processing");
            lines = 0;
            executor.notifyAll();
            Thread.currentThread().interrupt();
            return;
        }
    }, 0, 1, TimeUnit.MINUTES);

There is another Executor defined in the class which executes further processes and not sure if this influences it:

ExecutorService executor = Executors.newCachedThreadPool();
for (String processList : processFiles) {

        String appName = processList.substring(0,processList.indexOf("-"));
        String scope = processList.substring(processList.lastIndexOf("-") + 1);

        logger.info("Starting execution of thread for app " + appName + " under scope: " + scope);
        try {
            File processedFile = new File(ConfigurationReader.processedDirectory + appName + "-" + scope + ".csv");
            processedFile.createNewFile();
            executor.execute(new APIInitialisation(appName,processedFile.length(),scope));
        } catch (InterruptedException | IOException e) {
            e.printStackTrace();
        }
}
2 Answers
Related