当前位置: 首页 > 知识库问答 >
问题:

如何配置Spring Cloud数据流以在每个任务的单独命名空间中执行任务?

师野
2023-03-14

我正在使用Spring Cloud Data Flow来协调任务应用程序的执行,并且需要用它自己的资源配额(有些可能是有保证的,有些是不稳定的)在它的专用名称空间中运行每个任务应用程序。

按照Spring Cloud Data Flow Tasks Configuration中的指南,并使用timestamp-task docker映像,我在server-config.yml中有以下配置

    spring:
      cloud:
        dataflow:
          task:
            platform:
              kubernetes:
                accounts:
                  default:
                    limits:
                      memory: 1024Mi
                  my-dedicated-ns:
                    namespace: my-dedicated-ns
                    imagePullPolicy: Always
                    limits:
                      memory: 2048Mi

但是,当我使用参数--platformname=my-decidated-ns启动任务时,任务仍然在运行scdf的默认名称空间中执行(我将其称为spring-cloud-dataflow)。

看着执行细节,我看到-

--platformName: my-dedicated-ns
--spring.cloud.data.flow.platformname: default
--spring.cloud.task.executionid: 9

问题-

  • 如何使任务在my-dedicated-ns命名空间中运行?
  • Spring.Cloud.Data.Flow.PlatformName是什么,它是否相关?我尝试在任务参数中设置它,但它总是显示为默认值。
kubectl describe pod/timestamp-task-9n5xq9o8y0
...
Name:         timestamp-task-9n5xq9o8y0
Namespace:    spring-cloud-dataflow

...

Containers:
  timestamp-task-z95kxp4r84:
    
    Image:         springcloudtask/timestamp-task
    
    Args:
      --platformName=my-dedicated-ns
      --spring.cloud.data.flow.platformname=default
      --spring.cloud.task.executionid=7

这表明Spring Cloud Data Flow server总是在相同的命名空间中运行任务,如果是这样,--platformName是什么意思?

共有1个答案

万俟亦
2023-03-14

平台名称工作正常,我不得不重新启动Spring Cloud数据流服务器,以获得新的名称空间定义

spring:
      cloud:
        dataflow:
          task:
            platform:
              kubernetes:
                accounts:

生效。

 类似资料:
  • 情况:考虑到telnet客户端 这是Netty 4! 通道处理程序在一段时间内阻塞线程,而不是echo回复消息(就像telnet服务器演示所做的那样)(在现实世界中,像JDBC或JSch,...). 这实际上是可行的:我正在用测试它,线程将被阻塞(并且waitis),直到3秒钟后返回。 然而,这意味着我正在用一个不相关的任务阻塞Netty的事件循环工作组的线程。 因此,我更改了频道注册并应用了自定

  • 我使用java.util.concurrent.ExecutorService和固定线程池来执行任务列表。我的任务列表通常在80-150个左右,我已经将任何时候运行的线程数限制为10个,如下所示: 我的用例要求即使完成的任务也应该重新提交给ExecutorService,但是只有当所有已经提交的任务都被服务/完成时,才应该再次执行/获取。也就是说,提交的任务基本上应该轮流执行。因此,在这种情况下不

  • 问题内容: 跟踪任务在gradle构建脚本中花费了多长时间的最优雅的方法是什么?在最佳情况下,将时间直接记录在任务名称的同一行或下一行 问题答案: 最干净的解决方案是实现TaskExecutionListener(我确定您可以处理该部分)并向进行注册。

  • 我试图了解运行批处理任务时通过Spring Cloud数据流WRT数据源配置的预期行为。 Spring批处理数据库表(Batch\u JOB\u EXECUTION等)是否在SCDF数据库本身中?当通过SCDF启动任务时,似乎发生了一些神奇的事情,它在SCDF数据库中创建了这些表,并似乎在使用它们。它似乎正在将SCDF数据源注入我的应用程序? 我目前在localhost服务器版本2.0.1上运行。

  • 问题内容: 我想每2小时执行一次任务。Python在线程模块中有一个计时器,但是它满足我的需求吗?我如何自己生成一个合适的计时器? 问题答案: 如果您希望代码每2小时运行一次,最简单的方法是使用cron或类似的调度程序,具体取决于您的操作系统 如果您希望程序每n秒调用一次函数(在您的情况下为7200),则可以使用线程和event.wait。下面的示例启动一个计时器,该计时器每秒触发一次,并向std

  • 问题内容: 我一直在开发Android应用程序,我每小时需要执行1个任务。我使用以下代码: 它对我有用,但是我的客户告诉我该任务只能工作1次,而不能工作1个小时。我在哪里弄错了?请告诉我。谢谢。 问题答案: 根据您的代码,ALARM_PERIOD为1000L,作为重复间隔。因此,我怀疑警报会在每1000毫秒内触发一次。 如果您设置每小时的重复间隔,则应为3600000L。并请注意,如果电话重新启动