From f173b4fb4e8b0f3fccbbb26a932dec87b4f4c56c Mon Sep 17 00:00:00 2001 From: Pavlo Tkach <3469726+ptkach@users.noreply.github.com> Date: Thu, 4 May 2023 15:57:32 -0400 Subject: [PATCH] Adds cloud scheduler and tasks deployer (#1999) --- appengine_war.gradle | 2 +- build.gradle | 12 +- .../default/WEB-INF/cloud-scheduler-tasks.xml | 4 +- .../default/WEB-INF/cloud-tasks-queue.xml | 113 ++++++ .../{queue.xml => to_be_deleted_queue.xml} | 1 + .../default/WEB-INF/cloud-scheduler-tasks.xml | 4 +- .../default/WEB-INF/cloud-scheduler-tasks.xml | 4 +- .../default/WEB-INF/cloud-scheduler-tasks.xml | 4 +- .../default/WEB-INF/cloud-scheduler-tasks.xml | 4 +- docs/architecture.md | 12 +- docs/configuration.md | 11 +- release/builder/Dockerfile | 14 +- release/builder/cloudSchedulerDeployer.go | 176 --------- .../builder/deployCloudSchedulerAndQueue.go | 339 ++++++++++++++++++ release/cloudbuild-deploy.yaml | 10 +- 15 files changed, 496 insertions(+), 214 deletions(-) create mode 100644 core/src/main/java/google/registry/env/common/default/WEB-INF/cloud-tasks-queue.xml rename core/src/main/java/google/registry/env/common/default/WEB-INF/{queue.xml => to_be_deleted_queue.xml} (97%) delete mode 100644 release/builder/cloudSchedulerDeployer.go create mode 100644 release/builder/deployCloudSchedulerAndQueue.go diff --git a/appengine_war.gradle b/appengine_war.gradle index 8c745aca2..7a233703b 100644 --- a/appengine_war.gradle +++ b/appengine_war.gradle @@ -103,7 +103,7 @@ explodeWar.doLast { file("${it.explodedAppDirectory}/WEB-INF/lib/tools.jar").setWritable(true) } -appengineDeployAll.finalizedBy ':cloudSchedulerDeployer' +appengineDeployAll.finalizedBy ':deployCloudSchedulerAndQueue' rootProject.deploy.dependsOn appengineDeployAll rootProject.stage.dependsOn appengineStage tasks['war'].dependsOn ':console-webapp:buildConsoleWebappProd' diff --git a/build.gradle b/build.gradle index c7773f2ed..d6416b31b 100644 --- a/build.gradle +++ b/build.gradle @@ -558,17 +558,23 @@ task coreDev { javadocDependentTasks.each { tasks.javadoc.dependsOn(it) } -// Runs the script, which deploys cloud scheduler tasks based on the config -task cloudSchedulerDeployer { +// Runs the script, which deploys cloud scheduler and tasks based on the config +task deployCloudSchedulerAndQueue { doLast { def env = environment if (!prodOrSandboxEnv) { exec { commandLine 'go', 'run', - "${rootDir}/release/builder/cloudSchedulerDeployer.go", + "${rootDir}/release/builder/deployCloudSchedulerAndQueue.go", "${rootDir}/core/src/main/java/google/registry/env/${env}/default/WEB-INF/cloud-scheduler-tasks.xml", "domain-registry-${env}" } + exec { + commandLine 'go', 'run', + "${rootDir}/release/builder/deployCloudSchedulerAndQueue.go", + "${rootDir}/core/src/main/java/google/registry/env/common/default/WEB-INF/cloud-tasks-queue.xml", + "domain-registry-${env}" + } } } } diff --git a/core/src/main/java/google/registry/env/alpha/default/WEB-INF/cloud-scheduler-tasks.xml b/core/src/main/java/google/registry/env/alpha/default/WEB-INF/cloud-scheduler-tasks.xml index 50b543b37..068d7d41a 100644 --- a/core/src/main/java/google/registry/env/alpha/default/WEB-INF/cloud-scheduler-tasks.xml +++ b/core/src/main/java/google/registry/env/alpha/default/WEB-INF/cloud-scheduler-tasks.xml @@ -1,5 +1,5 @@ - + /_dr/task/rdeStaging rdeStaging @@ -138,4 +138,4 @@ */1 * * * * - + diff --git a/core/src/main/java/google/registry/env/common/default/WEB-INF/cloud-tasks-queue.xml b/core/src/main/java/google/registry/env/common/default/WEB-INF/cloud-tasks-queue.xml new file mode 100644 index 000000000..f285121a5 --- /dev/null +++ b/core/src/main/java/google/registry/env/common/default/WEB-INF/cloud-tasks-queue.xml @@ -0,0 +1,113 @@ + + + + + + + + + dns-refresh + 100 + + + + + dns-publish + 100 + + 30s + 1800s + 0 + + + + + rde-upload + 0.166666667 + 5 + 14400s + + + + + rde-report + 1 + 1 + 14400s + + + + + brda + 0.016666667 + 10 + 82800s + + + + + async-host-rename + 1 + + + + + beam-reporting + 0.016666667 + 1 + 5 + 180s + 180s + + + + + + marksdb + 0.016666667 + 1 + 39600s + + + + + nordn + 1 + 10 + 39600s + + + + + sheet + 1 + + 3600s + + + + + retryable-cron-tasks + 1 + 3 + + + + + async-actions + 1 + 5 + + + diff --git a/core/src/main/java/google/registry/env/common/default/WEB-INF/queue.xml b/core/src/main/java/google/registry/env/common/default/WEB-INF/to_be_deleted_queue.xml similarity index 97% rename from core/src/main/java/google/registry/env/common/default/WEB-INF/queue.xml rename to core/src/main/java/google/registry/env/common/default/WEB-INF/to_be_deleted_queue.xml index 5382b3fd0..9d9fd452d 100644 --- a/core/src/main/java/google/registry/env/common/default/WEB-INF/queue.xml +++ b/core/src/main/java/google/registry/env/common/default/WEB-INF/to_be_deleted_queue.xml @@ -1,4 +1,5 @@ + diff --git a/core/src/main/java/google/registry/env/crash/default/WEB-INF/cloud-scheduler-tasks.xml b/core/src/main/java/google/registry/env/crash/default/WEB-INF/cloud-scheduler-tasks.xml index d282db1c3..dfb7f3f7c 100644 --- a/core/src/main/java/google/registry/env/crash/default/WEB-INF/cloud-scheduler-tasks.xml +++ b/core/src/main/java/google/registry/env/crash/default/WEB-INF/cloud-scheduler-tasks.xml @@ -1,5 +1,5 @@ - +