我正在呼叫streamingContext.awaitTerminationOrTimeout(timeout)
,但我想要依赖timeout
环境。
这意味着如果我的环境是UAT,我想停止我的工作,但如果我的环境是生产环境,我根本不想让它超时。
我已经查看了文档here,但是我无法找到任何关于传递0
或-1
作为超时的引用是否会让作业永远运行(或者直到它失败了。)
是否有任何可能的timeout
值可以解决问题?或者其他任何替代方案都不代表我的生产环境awaitTermination
和我的UAT环境awaitTerminationOrTimeout
?
答案 0 :(得分:2)
看了一下图书馆后,我发现任何负值都可以。
awaitTerminationOrTimeout(timeout)
在内部调用streamingContext.awaitTerminationOrTimeout(timeout)
,然后调用contextWriter.waitForStopOrError(timeout)
。
在waitForStopOrError
内,有条件说如果timeout
低于零,那么我们就等了。
TL:DR :-1
永远不会让作业超时。