1
0
mirror of https://github.com/google/nomulus synced 2026-06-09 08:22:59 +00:00

Use CloudTasksUtil to enqueue task in IcannReportingStagingAction (#1489)

* Use CloudTasksUtil to enqueue task

* Use schedule time helper and add schedule time comparison
This commit is contained in:
Rachel Guan
2022-02-09 12:33:56 -05:00
committed by GitHub
parent c9da36be9f
commit e6577e3f23
2 changed files with 32 additions and 15 deletions

View File

@@ -21,9 +21,6 @@ import static google.registry.request.Action.Method.POST;
import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
import static javax.servlet.http.HttpServletResponse.SC_OK;
import com.google.appengine.api.taskqueue.QueueFactory;
import com.google.appengine.api.taskqueue.TaskOptions;
import com.google.appengine.api.taskqueue.TaskOptions.Method;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
@@ -33,9 +30,12 @@ import google.registry.bigquery.BigqueryJobFailureException;
import google.registry.config.RegistryConfig.Config;
import google.registry.reporting.icann.IcannReportingModule.ReportType;
import google.registry.request.Action;
import google.registry.request.Action.Service;
import google.registry.request.Parameter;
import google.registry.request.Response;
import google.registry.request.auth.Auth;
import google.registry.util.Clock;
import google.registry.util.CloudTasksUtils;
import google.registry.util.EmailMessage;
import google.registry.util.Retrier;
import google.registry.util.SendEmailService;
@@ -86,6 +86,8 @@ public final class IcannReportingStagingAction implements Runnable {
@Inject @Config("gSuiteOutgoingEmailAddress") InternetAddress sender;
@Inject @Config("alertRecipientEmailAddress") InternetAddress recipient;
@Inject SendEmailService emailService;
@Inject Clock clock;
@Inject CloudTasksUtils cloudTasksUtils;
@Inject IcannReportingStagingAction() {}
@@ -119,11 +121,14 @@ public final class IcannReportingStagingAction implements Runnable {
response.setPayload("Completed staging action.");
logger.atInfo().log("Enqueueing report upload.");
TaskOptions uploadTask =
TaskOptions.Builder.withUrl(IcannReportingUploadAction.PATH)
.method(Method.POST)
.countdownMillis(Duration.standardMinutes(2).getMillis());
QueueFactory.getQueue(CRON_QUEUE).add(uploadTask);
cloudTasksUtils.enqueue(
CRON_QUEUE,
CloudTasksUtils.createPostTask(
IcannReportingUploadAction.PATH,
Service.BACKEND.toString(),
null,
clock,
Duration.standardMinutes(2)));
return null;
},
BigqueryJobFailureException.class);