每次我们启动一个spring cloud任务时,它都会启动一个新的jvm(java.exe),所以如果启动了25个任务,那么它将启动25个jvm。
我想知道如何同时限制所有任务的总数(为所有部署的jar运行)?
假设我必须将一次运行的所有任务的总数限制为25.我们可以在SCDF中设置任何设置吗?
请告诉我
答案 0 :(得分:0)
在较新版本的SCDF中,有一个deployer属性,该属性限制并发任务执行的次数。
deployer.<appName>.kubernetes.maximumConcurrentTasks
默认情况下,值为20。
答案 1 :(得分:0)
默认情况下 maximumTaskExecutions 是 20。您可以使用以下网址检查 runningExecutionCount 和 maximumTaskExecutionsvalue
http://localhost:9393/tasks/executions/current
本地机器
如果您使用 jar 文件在本地机器上运行 spring-cloud 数据流服务器,那么您需要传递如下参数。
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=1
KUBERNETES
如果你是在kubernetes平台运行spring cloud server那么你需要修改Kubernetes task platforms的配置
转到 src/kubernetes/server/server-config.yaml ,在准确位置添加属性
spring:
cloud:
dataflow:
task:
platform:
<PLATFORM-TYPE>:
accounts:
<ACCOUNT-NAME>:
maximum-concurrent-tasks: <TASK-COUNT>
例如:
spring:
cloud:
dataflow:
task:
platform:
kubernetes:
accounts:
dev:
maximum-concurrent-tasks: 10
qa:
maximum-concurrent-tasks: 30
注意:
参考