如何关闭 Nifi 处理器计划
How to turn off Nifi Processor Schedule
我有 GetHttp 和 InvokeHttp Nifi 处理器,它们在 Nifi 中启动流程,但我希望它们只从 URL 获取一次并将数据传递给下一个进程使用处理器配置我无法关闭调度,如何做到这一点。
InvokeHttp
可能不是初始的,可能会被来自其他处理器的传入流文件触发。
因此,您可以在 InvokeHTTP
处理器前后放置某种同步逻辑。
例如,您可以使用 Wait
/Notify
个处理器。
Apache NiFi 处理器和流程专为恒定数据流而不是单个 "job executions" 或 "batch processing" 而设计。我们经常使用的一个比喻是,NiFi 不是建造和安装管道以供 运行 水通过,而是帮助您沿着一条已经流动的河流挖掘灌溉沟渠。数据已经存在(并且一直在移动)。
如果这确实是您需要触发的一次性操作,您可以将 运行 计划 设置为 30 sec
之类的内容,然后手动 启动然后停止那些处理器。它们只会执行一次,只要你在 30 秒内停止它们,就不会再执行。
如果这不是您可以手动执行的操作,您可以将 运行 计划 设置为类似 52 weeks
的设置。您还可以将 Scheduling Strategy 更改为 CRON driven
并将 运行 Schedule 设置为一个非常长的 crontab 参数日程。
正如@daggett 指出的那样,您还可以使用 Wait
/Notify
处理器来触发流程,否则将不会执行,但这仅适用于 InvokeHTTP
,因为 GetHTTP
是一个 source 处理器。
我有 GetHttp 和 InvokeHttp Nifi 处理器,它们在 Nifi 中启动流程,但我希望它们只从 URL 获取一次并将数据传递给下一个进程使用处理器配置我无法关闭调度,如何做到这一点。
InvokeHttp
可能不是初始的,可能会被来自其他处理器的传入流文件触发。
因此,您可以在 InvokeHTTP
处理器前后放置某种同步逻辑。
例如,您可以使用 Wait
/Notify
个处理器。
Apache NiFi 处理器和流程专为恒定数据流而不是单个 "job executions" 或 "batch processing" 而设计。我们经常使用的一个比喻是,NiFi 不是建造和安装管道以供 运行 水通过,而是帮助您沿着一条已经流动的河流挖掘灌溉沟渠。数据已经存在(并且一直在移动)。
如果这确实是您需要触发的一次性操作,您可以将 运行 计划 设置为 30 sec
之类的内容,然后手动 启动然后停止那些处理器。它们只会执行一次,只要你在 30 秒内停止它们,就不会再执行。
如果这不是您可以手动执行的操作,您可以将 运行 计划 设置为类似 52 weeks
的设置。您还可以将 Scheduling Strategy 更改为 CRON driven
并将 运行 Schedule 设置为一个非常长的 crontab 参数日程。
正如@daggett 指出的那样,您还可以使用 Wait
/Notify
处理器来触发流程,否则将不会执行,但这仅适用于 InvokeHTTP
,因为 GetHTTP
是一个 source 处理器。