From 62665b3a1f70097aba90e4c381bd3bec0a786ba3 Mon Sep 17 00:00:00 2001 From: musketyr Date: Tue, 10 Dec 2024 14:08:48 +0100 Subject: [PATCH] use dedicated thread pools for jobs --- .../micronaut-worker-executor-redis.gradle | 1 + .../worker/redis/RedisJobExecutorSpec.groovy | 12 +--- .../src/test/resources/application.yml | 57 +++++++++++++++++++ 3 files changed, 59 insertions(+), 11 deletions(-) create mode 100644 libs/micronaut-worker-executor-redis/src/test/resources/application.yml diff --git a/libs/micronaut-worker-executor-redis/micronaut-worker-executor-redis.gradle b/libs/micronaut-worker-executor-redis/micronaut-worker-executor-redis.gradle index 023a7a8a..33dcd32e 100644 --- a/libs/micronaut-worker-executor-redis/micronaut-worker-executor-redis.gradle +++ b/libs/micronaut-worker-executor-redis/micronaut-worker-executor-redis.gradle @@ -24,4 +24,5 @@ dependencies { implementation 'io.micronaut.reactor:micronaut-reactor' testImplementation project(':micronaut-worker-tck') + testImplementation 'org.yaml:snakeyaml' } diff --git a/libs/micronaut-worker-executor-redis/src/test/groovy/com/agorapulse/worker/redis/RedisJobExecutorSpec.groovy b/libs/micronaut-worker-executor-redis/src/test/groovy/com/agorapulse/worker/redis/RedisJobExecutorSpec.groovy index 6bf07d8b..ae44fe0c 100644 --- a/libs/micronaut-worker-executor-redis/src/test/groovy/com/agorapulse/worker/redis/RedisJobExecutorSpec.groovy +++ b/libs/micronaut-worker-executor-redis/src/test/groovy/com/agorapulse/worker/redis/RedisJobExecutorSpec.groovy @@ -45,17 +45,7 @@ class RedisJobExecutorSpec extends AbstractJobExecutorSpec { ApplicationContext ctx = ApplicationContext .builder( - 'redis.uri': "redis://$redis.host:${redis.getMappedPort(6379)}", - 'worker.jobs.long-running-job-execute-producer.enabled': 'true', - 'worker.jobs.long-running-job-execute-on-leader.enabled': 'true', - 'worker.jobs.long-running-job-execute-on-follower.enabled': 'true', - 'worker.jobs.long-running-job-execute-consecutive.enabled': 'true', - 'worker.jobs.long-running-job-execute-unlimited.enabled': 'true', - 'worker.jobs.long-running-job-execute-concurrent.enabled': 'true', - 'worker.jobs.long-running-job-execute-concurrent-consumer.enabled': 'true', - 'worker.jobs.long-running-job-execute-fork-consumer.enabled': 'true', - 'worker.jobs.long-running-job-execute-regular-consumer.enabled': 'true', - 'worker.jobs.long-running-job-execute-fork.enabled': 'true' + 'redis.uri': "redis://$redis.host:${redis.getMappedPort(6379)}" ) .environments(CONCURRENT_JOB_TEST_ENVIRONMENT) .build() diff --git a/libs/micronaut-worker-executor-redis/src/test/resources/application.yml b/libs/micronaut-worker-executor-redis/src/test/resources/application.yml new file mode 100644 index 00000000..d7f5c2eb --- /dev/null +++ b/libs/micronaut-worker-executor-redis/src/test/resources/application.yml @@ -0,0 +1,57 @@ + + +worker: + jobs: + long-running-job-execute-producer: + enabled: true + scheduler: long-running-job-execute-producer + long-running-job-execute-on-leader: + enabled: true + scheduler: long-running-job-execute-on-leader + long-running-job-execute-on-follower: + enabled: true + scheduler: long-running-job-execute-on-follower + long-running-job-execute-consecutive: + enabled: true + scheduler: long-running-job-execute-consecutive + long-running-job-execute-unlimited: + enabled: true + scheduler: long-running-job-execute-unlimited + long-running-job-execute-concurrent: + enabled: true + scheduler: long-running-job-execute-concurrent + long-running-job-execute-concurrent-consumer: + enabled: true + scheduler: long-running-job-execute-concurrent-consumer + long-running-job-execute-fork-consumer: + enabled: true + scheduler: long-running-job-execute-fork-consumer + long-running-job-execute-regular-consumer: + enabled: true + scheduler: long-running-job-execute-regular-consumer + long-running-job-execute-fork: + enabled: true + scheduler: long-running-job-execute-fork + +micronaut: + executors: + long-running-job-execute-producer: + number-of-threads: 1 + long-running-job-execute-on-leader: + number-of-threads: 1 + long-running-job-execute-on-follower: + number-of-threads: 1 + long-running-job-execute-consecutive: + number-of-threads: 1 + long-running-job-execute-unlimited: + number-of-threads: 1 + long-running-job-execute-concurrent: + number-of-threads: 1 + long-running-job-execute-concurrent-consumer: + number-of-threads: 1 + long-running-job-execute-fork-consumer: + number-of-threads: 2 + long-running-job-execute-regular-consumer: + number-of-threads: 1 + long-running-job-execute-fork: + number-of-threads: 2