diff --git a/java/google/registry/env/common/backend/WEB-INF/web.xml b/java/google/registry/env/common/backend/WEB-INF/web.xml
index 234ee241b..8e02c28f2 100644
--- a/java/google/registry/env/common/backend/WEB-INF/web.xml
+++ b/java/google/registry/env/common/backend/WEB-INF/web.xml
@@ -141,12 +141,6 @@
/_dr/task/loadSnapshot
-
-
- backend-servlet
- /_dr/task/refreshAllDomains
-
-
backend-servlet
diff --git a/java/google/registry/env/common/tools/WEB-INF/web.xml b/java/google/registry/env/common/tools/WEB-INF/web.xml
index 15be36f89..0e99e32e5 100644
--- a/java/google/registry/env/common/tools/WEB-INF/web.xml
+++ b/java/google/registry/env/common/tools/WEB-INF/web.xml
@@ -123,6 +123,12 @@
/_ah/pipeline/*
+
+
+ tools-servlet
+ /_dr/task/refreshAllDomains
+
+
tools-servlet
diff --git a/java/google/registry/module/backend/BUILD b/java/google/registry/module/backend/BUILD
index db64fc4b9..2faffe7d7 100644
--- a/java/google/registry/module/backend/BUILD
+++ b/java/google/registry/module/backend/BUILD
@@ -41,7 +41,6 @@ java_library(
"//java/google/registry/request:modules",
"//java/google/registry/tmch",
"//java/google/registry/util",
- "//java/google/registry/tools/server/javascrap",
],
)
diff --git a/java/google/registry/module/backend/BackendRequestComponent.java b/java/google/registry/module/backend/BackendRequestComponent.java
index 1016bb571..a3ff37a1a 100644
--- a/java/google/registry/module/backend/BackendRequestComponent.java
+++ b/java/google/registry/module/backend/BackendRequestComponent.java
@@ -62,7 +62,6 @@ import google.registry.tmch.TmchCrlAction;
import google.registry.tmch.TmchDnlAction;
import google.registry.tmch.TmchModule;
import google.registry.tmch.TmchSmdrlAction;
-import google.registry.tools.server.javascrap.RefreshAllDomainsAction;
/** Dagger component with per-request lifetime for "backend" App Engine module. */
@RequestScope
@@ -107,7 +106,6 @@ interface BackendRequestComponent {
RdeStagingAction rdeStagingAction();
RdeUploadAction rdeUploadAction();
RdeReporter rdeReporter();
- RefreshAllDomainsAction refreshAllDomainsAction();
RefreshDnsAction refreshDnsAction();
RestoreCommitLogsAction restoreCommitLogsAction();
SyncGroupMembersAction syncGroupMembersAction();
diff --git a/java/google/registry/module/tools/ToolsRequestComponent.java b/java/google/registry/module/tools/ToolsRequestComponent.java
index 778fd055d..7a10ff928 100644
--- a/java/google/registry/module/tools/ToolsRequestComponent.java
+++ b/java/google/registry/module/tools/ToolsRequestComponent.java
@@ -43,6 +43,7 @@ import google.registry.tools.server.UpdatePremiumListAction;
import google.registry.tools.server.VerifyOteAction;
import google.registry.tools.server.javascrap.BackfillAutorenewBillingFlagAction;
import google.registry.tools.server.javascrap.CountRecurringBillingEventsAction;
+import google.registry.tools.server.javascrap.RefreshAllDomainsAction;
/** Dagger component with per-request lifetime for "tools" App Engine module. */
@RequestScope
@@ -74,6 +75,7 @@ interface ToolsRequestComponent {
ListTldsAction listTldsAction();
LoadTestAction loadTestAction();
PublishDetailReportAction publishDetailReportAction();
+ RefreshAllDomainsAction refreshAllDomainsAction();
ResaveAllEppResourcesAction resaveAllEppResourcesAction();
UpdatePremiumListAction updatePremiumListAction();
VerifyOteAction verifyOteAction();
diff --git a/java/google/registry/tools/server/javascrap/RefreshAllDomainsAction.java b/java/google/registry/tools/server/javascrap/RefreshAllDomainsAction.java
index 271bfbf95..4cb84d449 100644
--- a/java/google/registry/tools/server/javascrap/RefreshAllDomainsAction.java
+++ b/java/google/registry/tools/server/javascrap/RefreshAllDomainsAction.java
@@ -30,13 +30,13 @@ import javax.inject.Inject;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
-/** A mapreduce that runs publishHost() on all active domains. */
+/** A mapreduce that enqueues publish tasks on all active domains. */
@Action(path = "/_dr/task/refreshAllDomains")
public class RefreshAllDomainsAction implements Runnable {
private static final FormattingLogger logger = FormattingLogger.getLoggerForCallerClass();
- static DnsQueue dnsQueue = DnsQueue.create();
+ private static DnsQueue dnsQueue = DnsQueue.create();
@Inject MapreduceRunner mrRunner;
@Inject Response response;
@@ -48,7 +48,7 @@ public class RefreshAllDomainsAction implements Runnable {
createJobPath(
mrRunner
.setJobName("Refresh all domains")
- .setModuleName("backend")
+ .setModuleName("tools")
.setDefaultMapShards(10)
.runMapOnly(
new RefreshAllDomainsActionMapper(),
@@ -61,8 +61,8 @@ public class RefreshAllDomainsAction implements Runnable {
private static final long serialVersionUID = 1356876487351666133L;
@Override
- public final void map(final DomainResource domain) {
- final String domainName = domain.getFullyQualifiedDomainName();
+ public void map(final DomainResource domain) {
+ String domainName = domain.getFullyQualifiedDomainName();
if (EppResourceUtils.isActive(domain, DateTime.now(DateTimeZone.UTC))) {
try {
dnsQueue.addDomainRefreshTask(domainName);