我有 GetHttp 和 InvokeHttp Nifi 处理器,它们在 Nifi 中启动流程,但我希望它们只从 URL 获取一次并将数据传递给下一个进程使用处理器配置我无法关闭调度,如何实现这一点.
最佳答案
Apache NiFi 处理器和流是为恒定数据流设计的,而不是单一的“作业执行”或“批处理”。我们经常使用的一个比喻是,NiFi 不是 build 和安装管道来让水流过,而是帮助您沿着已经流动的河流挖掘灌溉沟渠。数据已经在那里(并且一直在移动)。
如果这确实是您需要触发的一次性操作,您可以将 Run Schedule 设置为 30 sec
并手动 Start 然后停止那些处理器。它们会执行一次,只要你在 30 秒内停止它们,就不会再次执行。
如果这不是您可以手动执行的操作,您可以将 Run Schedule 设置为 52 周
。您还可以将 Scheduling Strategy 更改为 CRON 驱动
并将 Run Schedule 设置为具有很长计划的 crontab 参数。
正如@daggett 所说,您还可以使用 Wait
/Notify
处理器来触发否则不会执行的流程,但这仅适用于 InvokeHTTP
,因为 GetHTTP
是一个 source 处理器。
关于apache-nifi - 如何关闭 Nifi 处理器计划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44153120/