使用 Java 停止运行 Kettle Job/Transformation

2024-01-06

我也在使用 Java 开发基于 Web 应用程序的 ETL(使用 Kettle 引擎)。

我在尝试停止正在运行的作业时遇到了问题。我不确定使用 CarteSingleton.java 是否正确。我正在使用自定义单例地图。

我的代码如下

Job job = new Job(null, jobMeta);
job.setLogLevel(LogLevel.DETAILED);
job.setGatheringMetrics(true);
job.start();

调用 job.start() 后,我尝试将该作业对象存储在自定义单例映射中,并检索存储在映射中的确切作业对象,并使用另一个 REST 调用 stopAll() (参见下面的代码)当作业的状态为 RUNNING 时调用以停止它。 但这并不能阻止正在运行的作业。 Kettle Engine 没有收到此通知!作业执行继续。 .kjb / .ktr 是使用 SPOON 创建的,尽管我没有使用 SPOON 来运行/停止执行。

我是否需要更改任何 Kettle API 配置才能使用

   same job object
   job.stopAll();

您能否了解一下 API 和示例示例(如果有的话)可以使用 Java 停止正在运行的作业或转换?

这里的任何指示或帮助都会很棒!再次感谢。

问候, 桑吉耶夫


看来你的做法是正确的。但是,请注意,不能保证立即停止 - 它只是设置一个标志,指示不应继续执行。

Job.stopAll()设置标志 https://github.com/pentaho/pentaho-kettle/blob/master/engine/src/org/pentaho/di/job/Job.java#L1307它是执行开始前检查 https://github.com/pentaho/pentaho-kettle/blob/master/engine/src/org/pentaho/di/job/Job.java#L662,但如果已经开始,它不会当场停止

Trans.stopAll()行为类似。它要求每一步停止 https://github.com/pentaho/pentaho-kettle/blob/master/engine/src/org/pentaho/di/trans/Trans.java#L1886-L1922还有那面旗帜里面被检查了 https://github.com/pentaho/pentaho-kettle/blob/master/engine/src/org/pentaho/di/trans/step/BaseStep.java steps.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Java 停止运行 Kettle Job/Transformation 的相关文章

随机推荐

  • 删除动态数组的一部分并增加其他部分

    我需要一个动态数组 因此我需要通过指针分配必要的内存量 让我想知道哪个是一个好的解决方案 是 C 能够执行以下操作 int p new int 6 它分配必要的数组 我需要的是 之后我想增加这个数组的一些部分 一个 有缺陷的 例子 int
  • 代理网络充斥着未使用的 ActiveMQ.Advisory.TempQueue 消息

    我目前正在调查我的经纪商网络中的内存问题 根据 JConsole 的说法 当代理开始阻止消息时 ActiveMQ Advisory TempQueue 占用了 99 的配置内存 有关配置的一些细节 大部分情况下都是默认配置 一个开放的 st
  • 如何将Kafka数据导出到Prometheus?

    我在 kafka 主题中以时间序列的形式获得了 300K 指标 分钟 我想存储和查询数据 满足我需求的可视化工具是Grafana 为了有效地存储和查询 我正在考虑将这些时间序列存储在Prometheus中 具有大量时间序列的 Kafka 主
  • Excel 数据透视图线性时间刻度

    我有一个数据集 约 10000 行 其形式如下 DateTimeCreated Machine ProductName 2009 03 03 00 00 12 217 COMP001 Product001 我使用具有以下布局的数据透视表和图
  • 循环动画集会导致 StackOverflowError

    我正在删除一个 Android 应用程序 其中有一个无限重复的动画 导致 StackOverflowError 当同一对象上的另一个动画开始时 它会执行此操作 private fun pulse val randomGenerator Ra
  • “必须安装JRE 1.3或更高版本!” /“必须安装JDK 1.3或更高版本!”在 Windows 7 (x64) 上安装 JAI 1.1.3 时出错

    我收到这些错误 严重 必须安装JRE 1 3或更高版本 严重 必须安装JDK 1 3或更高版本 在 Windows 7 x64 上安装 JAI Java Advanced Imaging 1 1 3 时 JRE 7 1 7 安装在 C Pr
  • XUnit 使用 Cake 与 .NET Core 配合使用

    我有一个相对简单的解决方案 在 MSBuild 下一切正常 在 VS 2017 Mac 中 我正在创建一个 Cake 构建脚本 但我无法让单元测试正常工作 例子有很多 但似乎没有一个是有效的 有些人要求使用 DotnetCoreTest 大
  • MS 图表:获取真正的 InnerPlotPosition?

    使用 Microsoft Charts 创建图表时 我需要获取图表上网格的准确位置 This page http msdn microsoft com en us library dd456696 aspx says as I unders
  • 反编译Java项目并编译

    我在尝试着一个 java 项目 jar 文件 我可以从中获取 java 文件 现在我怎样才能把它编译回来呢 我可以将 java 文件作为单个文件添加到 Netbeans 中 但是如何将其添加为项目添加编译呢 该项目是一个JavaFX项目 所
  • 从 IntelliJ 调用 Maven 模块构建

    我想知道是否有人知道一种从 IntelliJ 调用特定 Maven 模块构建的方法 该模块还将构建 或使用已编译的类 它所依赖的模块 因此 例如 如果我只想构建图中的模块 模型 那么我单击其上的包步骤似乎是合理的 但它实际上做了什么 它调用
  • Promise 抛出“未处理的承诺拒绝”错误的奇怪行为

    当我使用 Node 运行此代码时 它会抛出一个Unhandled promise rejection控制台中出现错误 甚至显示error caught首先是文字 const promise new Promise resolve rejec
  • NetLogo BehaviourSpace - 使用报告器进行测量

    在我的 NetLogo 模型中 我的海龟被称为居民 每个居民都有自己的起始意见 initial opinion 和最终意见 final opinion 他们的意见是使用随机数计算的 因此当我更改某些参数时 我想运行模型至少 20 次 因此我
  • 如何在 Anaconda x64 上安装 Yandex CatBoost?

    我已经通过以下方式成功安装了 CatBoost pip install catboost 但是当我在 Jupiter Notebook 中尝试示例 python 脚本时出现错误 import numpy as np from catboos
  • 将双精度格式设置为分数[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有一个库可以将 Double 转换为带有整数 后跟小数的字符串 例如 1 125 1 1 8 我只
  • 检查方法参数的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我知道两种方法来检查方法的参数并在需要时抛出异常 1 对每个参数进行检查 错误时抛出异常 public void Method object p
  • Redux for React 中 `Provider` 和 `connect` 之间的区别

    我发现 Redux 有两种将状态传递给 React 应用程序中的组件的方法 一种是抛出 Provider 组件 另一种是使用连接功能 但是 我想知道为什么有两种不同的方法 以及哪种方法的性能比另一种更好 它们并不相互排斥 实际上你几乎总是需
  • 分割字符串并仅获取第一个值

    我想知道是否可以使用 split 将字符串分割为用逗号分隔的多个部分 如下所示 title genre director actor 我只想要第一部分 每个字符串的标题而不是其余部分 string valueStr title genre
  • 如何修复 CLion 中对“__imp_WSACleanup”(Boost.Asio) 的未定义引用

    我的 C 项目包括Boost http www boost org and WebSocket https github com zaphoyd websocketpp库 我阅读了其他需要添加的主题 lws2 32到 gcc 命令 但我有
  • 如何打印列表中只出现一次的元素,而不进行计数

    如果我有一个字典 key a b c c d 并且我只想打印与每个键对应的唯一值 在本例中为 a b d 除了仅打印之外 最有效的方法是什么循环遍历每个元素并对其进行计数 如果元素按照您的示例进行排序 你可以用itertools group
  • 使用 Java 停止运行 Kettle Job/Transformation

    我也在使用 Java 开发基于 Web 应用程序的 ETL 使用 Kettle 引擎 我在尝试停止正在运行的作业时遇到了问题 我不确定使用 CarteSingleton java 是否正确 我正在使用自定义单例地图 我的代码如下 Job j