每次我们启动一个spring cloud任务,它都会启动一个新的jvm (java.exe),所以如果启动了25个任务,那么它就会启动25个jvm。
我想知道如何同时限制所有任务的总数(为所有部署的jars运行)?
假设我必须将一次运行的所有任务的总数限制为25。我们在SCDF中有什么设置可以做到这一点吗?
请让我知道
发布于 2020-02-13 18:09:26
在较新版本的SCDF中,有一个deployer属性可以限制并发任务执行的数量。
deployer.<appName>.kubernetes.maximumConcurrentTasks默认情况下,该值为20。
发布于 2021-04-13 19:09:32
默认情况下,maximumTaskExecutions为20。您可以使用以下url检查runningExecutionCount和maximumTaskExecutionsvalue
http://localhost:9393/tasks/executions/current
本地计算机
如果您使用jar文件在本地机器上运行spring-cloud dataflow服务器,那么您需要传递一个如下所示的参数。
java -jar spring-cloud-dataflow-server-<VERSION>.jar --spring.cloud.dataflow.task.platform.<PLATFORM-TYPE>.accounts.<ACCOUNT-NAME>.maximum-concurrent-tasks=<TASK-COUNT>例如:
java -jar spring-cloud-dataflow-server-2.7.1.jar --spring.cloud.dataflow.task.platform.local.accounts.default.maximum-concurrent-tasks=1KUBERNETES
如果您在kubernetes平台上运行spring cloud server,则需要更改Kubernetes task platforms的配置
spring: cloud: dataflow: task: platform::accounts::maximum-concurrent-tasks:
例如:
spring:
cloud:
dataflow:
task:
platform:
kubernetes:
accounts:
dev:
maximum-concurrent-tasks: 10
qa:
maximum-concurrent-tasks: 30然后应用配置kubectl apply src/kubernetes/server/server-config.yaml
-cloud-dataflow
备注:
默认部署PLATFORM-TYPE是指当前支持的部署程序之一:本地PLATFORM-TYPE、cloudfoundry,或kubernetes
,则为
参考
https://stackoverflow.com/questions/47761653
复制相似问题