diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2017-10-08 17:29:48 -0700 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2017-10-08 17:29:48 -0700 |
commit | 79b8aacbb7b347bba9d14b1332666e7263a3a058 (patch) | |
tree | c2b38b63a636984c055b1e67eea8d56dd42a77a2 /src/main/java/com/p4square/grow/frontend/GrowFrontend.java | |
parent | cbf149af1f07bb98c1f856948a79dcf3fb0c43b3 (diff) |
Attempt to update chapter completion on every request.20171008
I'm still seeing occasional users with missing progress information in
CCB. Currently, the progress is only updated when the user completes a
chapter. With this change, the progress will be updated every time the
training page is loaded.
CCBProgressReporter does not actually update the user's profile unless
the new level is greater than the existing level. This provision will
prevent needlessly calling the CCB API.
Additionally, this update will execute in a background thread to avoid
impacting the page load.
Diffstat (limited to 'src/main/java/com/p4square/grow/frontend/GrowFrontend.java')
-rw-r--r-- | src/main/java/com/p4square/grow/frontend/GrowFrontend.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/com/p4square/grow/frontend/GrowFrontend.java b/src/main/java/com/p4square/grow/frontend/GrowFrontend.java index b5f62fb..ebaa8df 100644 --- a/src/main/java/com/p4square/grow/frontend/GrowFrontend.java +++ b/src/main/java/com/p4square/grow/frontend/GrowFrontend.java @@ -7,6 +7,8 @@ package com.p4square.grow.frontend; import java.io.File; import java.io.IOException; import java.lang.reflect.Constructor; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import freemarker.template.Template; @@ -51,6 +53,8 @@ public class GrowFrontend extends FMFacade { private IntegrationDriver mIntegrationFactory; + private final ExecutorService mThreadPool; + public GrowFrontend() { this(new Config(), new MetricRegistry()); } @@ -58,6 +62,7 @@ public class GrowFrontend extends FMFacade { public GrowFrontend(Config config, MetricRegistry metricRegistry) { mConfig = config; mMetricRegistry = metricRegistry; + mThreadPool = Executors.newFixedThreadPool(mConfig.getInt("threadPoolSize", 10)); } public Config getConfig() { @@ -68,6 +73,10 @@ public class GrowFrontend extends FMFacade { return mMetricRegistry; } + public ExecutorService getThreadPool() { + return mThreadPool; + } + @Override public synchronized void start() throws Exception { Template errorTemplate = getTemplate("templates/error.ftl"); |