diff --git a/src/clj/auto_ap/graphql/ledger.clj b/src/clj/auto_ap/graphql/ledger.clj index f691975c..650e5154 100644 --- a/src/clj/auto_ap/graphql/ledger.clj +++ b/src/clj/auto_ap/graphql/ledger.clj @@ -454,6 +454,6 @@ (mount/defstate running-balance-cache-worker - :start (scheduler/every (* 5 60 1000) refresh-running-balance-cache) + :start (scheduler/every (* 30 60 1000) refresh-running-balance-cache) :stop (scheduler/stop running-balance-cache-worker)) diff --git a/terraform/deploy.tf b/terraform/deploy.tf index a83b8f2d..12c25f1e 100644 --- a/terraform/deploy.tf +++ b/terraform/deploy.tf @@ -69,7 +69,7 @@ resource "aws_ecs_service" "integreat_app" { } resource "aws_ecs_service" "integreat_background_worker" { - name = "integreat_background_worker_${var.stage}" + name = "integreat_background_worker2_${var.stage}" cluster = "${var.ecs_cluster}" task_definition = aws_ecs_task_definition.integreat_background_worker.arn desired_count = 1 @@ -89,7 +89,7 @@ resource "aws_ecs_service" "integreat_background_worker" { service_registries { container_port = 0 port = 0 - registry_arn = aws_service_discovery_service.service.arn + registry_arn = aws_service_discovery_service.background_worker_service.arn } timeouts {} @@ -275,3 +275,22 @@ resource "aws_service_discovery_service" "service" { failure_threshold = 1 } } + +resource "aws_service_discovery_service" "background_worker_service" { + name = "integreat-background-worker-${var.stage}" + + dns_config { + namespace_id = var.local_namespace + + dns_records { + ttl = 10 + type = "A" + } + + routing_policy = "MULTIVALUE" + } + + health_check_custom_config { + failure_threshold = 1 + } +} diff --git a/terraform/terraform.tfstate.d/prod/terraform.tfstate b/terraform/terraform.tfstate.d/prod/terraform.tfstate index 812dc734..e2769fb9 100644 --- a/terraform/terraform.tfstate.d/prod/terraform.tfstate +++ b/terraform/terraform.tfstate.d/prod/terraform.tfstate @@ -1,7 +1,7 @@ { "version": 4, "terraform_version": "0.13.3", - "serial": 78, + "serial": 84, "lineage": "9b630886-8cee-a57d-c7a2-4f19f13f9c51", "outputs": { "aws_access_key_id": { @@ -33,7 +33,7 @@ "attributes": { "account_id": "679918342773", "arn": "arn:aws:iam::679918342773:user/bryce", - "id": "2020-12-09 05:46:51.764295 +0000 UTC", + "id": "2020-12-09 06:23:02.759955 +0000 UTC", "user_id": "AIDAJPUJFTOKO4IRADMV4" } } @@ -177,10 +177,10 @@ "force_new_deployment": null, "health_check_grace_period_seconds": 0, "iam_role": "aws-service-role", - "id": "arn:aws:ecs:us-east-1:679918342773:service/default/integreat_background_worker_prod", + "id": "arn:aws:ecs:us-east-1:679918342773:service/default/integreat_background_worker2_prod", "launch_type": "FARGATE", "load_balancer": [], - "name": "integreat_background_worker_prod", + "name": "integreat_background_worker2_prod", "network_configuration": [ { "assign_public_ip": true, @@ -205,7 +205,7 @@ "container_name": "", "container_port": 0, "port": 0, - "registry_arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-m232jsqnpvd5e2xb" + "registry_arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-ogsibykufe2sjr75" } ], "tags": null, @@ -217,7 +217,7 @@ "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjoxMjAwMDAwMDAwMDAwfX0=", "dependencies": [ "aws_ecs_task_definition.integreat_background_worker", - "aws_service_discovery_service.service" + "aws_service_discovery_service.background_worker_service" ] } ] @@ -836,6 +836,44 @@ } ] }, + { + "mode": "managed", + "type": "aws_service_discovery_service", + "name": "background_worker_service", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-ogsibykufe2sjr75", + "description": "", + "dns_config": [ + { + "dns_records": [ + { + "ttl": 10, + "type": "A" + } + ], + "namespace_id": "ns-gv2z744em7myo2jp", + "routing_policy": "MULTIVALUE" + } + ], + "health_check_config": [], + "health_check_custom_config": [ + { + "failure_threshold": 1 + } + ], + "id": "srv-ogsibykufe2sjr75", + "name": "integreat-background-worker-prod", + "namespace_id": "ns-gv2z744em7myo2jp", + "tags": {} + }, + "private": "bnVsbA==" + } + ] + }, { "mode": "managed", "type": "aws_service_discovery_service", diff --git a/terraform/terraform.tfstate.d/prod/terraform.tfstate.backup b/terraform/terraform.tfstate.d/prod/terraform.tfstate.backup index 2f250099..b4640c7f 100644 --- a/terraform/terraform.tfstate.d/prod/terraform.tfstate.backup +++ b/terraform/terraform.tfstate.d/prod/terraform.tfstate.backup @@ -1,7 +1,7 @@ { "version": 4, "terraform_version": "0.13.3", - "serial": 75, + "serial": 82, "lineage": "9b630886-8cee-a57d-c7a2-4f19f13f9c51", "outputs": { "aws_access_key_id": { @@ -33,7 +33,7 @@ "attributes": { "account_id": "679918342773", "arn": "arn:aws:iam::679918342773:user/bryce", - "id": "2020-12-09 05:22:32.641901 +0000 UTC", + "id": "2020-12-09 06:23:02.759955 +0000 UTC", "user_id": "AIDAJPUJFTOKO4IRADMV4" } } @@ -96,7 +96,7 @@ ], "deployment_maximum_percent": 200, "deployment_minimum_healthy_percent": 100, - "desired_count": 1, + "desired_count": 2, "enable_ecs_managed_tags": false, "force_new_deployment": null, "health_check_grace_period_seconds": 600, @@ -154,6 +154,74 @@ } ] }, + { + "mode": "managed", + "type": "aws_ecs_service", + "name": "integreat_background_worker", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "capacity_provider_strategy": [], + "cluster": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "deployment_controller": [ + { + "type": "ECS" + } + ], + "deployment_maximum_percent": 200, + "deployment_minimum_healthy_percent": 100, + "desired_count": 1, + "enable_ecs_managed_tags": false, + "force_new_deployment": null, + "health_check_grace_period_seconds": 0, + "iam_role": "aws-service-role", + "id": "arn:aws:ecs:us-east-1:679918342773:service/default/integreat_background_worker_prod", + "launch_type": "FARGATE", + "load_balancer": [], + "name": "integreat_background_worker_prod", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraints": [], + "platform_version": "LATEST", + "propagate_tags": "NONE", + "scheduling_strategy": "REPLICA", + "service_registries": [ + { + "container_name": "", + "container_port": 0, + "port": 0, + "registry_arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-m232jsqnpvd5e2xb" + } + ], + "tags": {}, + "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_background-worker_prod:1", + "timeouts": { + "delete": null + } + }, + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjoxMjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "aws_ecs_task_definition.integreat_background_worker", + "aws_service_discovery_service.background_worker_service" + ] + } + ] + }, { "mode": "managed", "type": "aws_ecs_task_definition", @@ -214,7 +282,7 @@ "FARGATE" ], "revision": 1, - "tags": null, + "tags": {}, "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", "volume": [] }, @@ -768,6 +836,44 @@ } ] }, + { + "mode": "managed", + "type": "aws_service_discovery_service", + "name": "background_worker_service", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-ogsibykufe2sjr75", + "description": "", + "dns_config": [ + { + "dns_records": [ + { + "ttl": 10, + "type": "A" + } + ], + "namespace_id": "ns-gv2z744em7myo2jp", + "routing_policy": "MULTIVALUE" + } + ], + "health_check_config": [], + "health_check_custom_config": [ + { + "failure_threshold": 1 + } + ], + "id": "srv-ogsibykufe2sjr75", + "name": "integreat-background-worker-prod", + "namespace_id": "ns-gv2z744em7myo2jp", + "tags": null + }, + "private": "bnVsbA==" + } + ] + }, { "mode": "managed", "type": "aws_service_discovery_service",