Вот какое-то обходное решение, может быть, кто-то найдет лучшее ...
при обслуживании вы можете передать переменную env
environment:
- TASK_NAME={{.Task.Name}}
, где .Task.Name будет вашим stackName_serviceName.в моем случае это был номер для каждой реплики
yf_backend.1.....
yf_backend.2.....
, тогда из вашего JAVA-приложения вы можете получить переменную env и проверить количество реплик.Оставьте его включенным для 1, а для остальных отключенным.Как то так:
public boolean isEnvVariableEnableScheduler() {
final String envSchedulerTaskEnvVeriable = System.getenv("TASK_NAME");
return envSchedulerTaskEnvVeriable == null || envSchedulerTaskEnvVeriable.contains("yf_backend.1");
}